Unslothって何?
Unslothとは、LLMの再学習のコストを最小限にするフレームワークです。
今日では、LLMのパラメータ数は膨大になり個人のPCで0から学習を行い、LLMを作成することはほぼ不可能になっていると言っても過言ではないでしょう。そこで、RAG (Retrieval-Augmented Generation)のような再学習を行うことなく固有のタスクに対応する手法が生み出されているように思えます。
一方で、再学習のコストを下げる手法の研究も行われています。ここでは、個別具体的な手法については触れませんが、unslothでは再学習のコストを下げ一般ユーザーに再学習が利用できるような環境を提供してくれています。
つまり、Unslothはお手軽LLM再学習フレームワークということです。
使用に挑戦
先に紹介したuvの環境でunslothライブラリのインストールに挑戦します。コマンドは、unslothのREADMEにも書いてあります。
uv add unsloth
Resolved 88 packages in 437ms
error: Distribution `bitsandbytes==0.45.5 @ registry+https://pypi.org/simple` can't be installed because it doesn't have a source distribution or wheel for the current platform
hint: You're on macOS (`macosx_15_0_arm64`), but `bitsandbytes` (v0.45.5) only has wheels for the following platforms: `manylinux_2_24_x86_64`, `win_amd64`
おや???
どうやら、macosx_armには対応しておらず、win_armまたはlinux_x86系でのみ実行が可能なようです。。。
解決策?
一応の解決策を妄想しておくこととします。
- WindowsPCで実行
- linux_x86系をエミュレートし実行
- 問題点:エミュレートによる計算速度の遅延
- そもそも、どんなエミュレータがあるか不明
- unslothの対応を待つ
- AppleのMシリーズは省電力かつ高速なメモリアクセスを実現しているため、unslothが対応してくれる可能性もないとは言い切れない。と思いたい。
まとめ
流石に、unslothを使用したいので、desktop PCにubuntuをインストールし、環境を整えたいと思います。