ジャンクOS無しノートPCでローカルLLMのllama.cppでLoRaファインチューニングしてCPU学習してみた。メモリさえあればとても遅いけどオリジナルで賢くできるかも?実験なう

CPUだけでファインチューニングしてみました。僅か5行で2日3時間は長すぎですが、ローカルLLMにオリジナル学習できるかも?という実験です。 それにしてもCPU遅いな…
10
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

Llama.cppで練習にござるデータを5行に減らしてELYZA 7bをベースにCPUファインチューニングのテストなう 消費メモリをSwap込みで32GB使用 これなんか1日掛かりそうなノリだなw メインマシンを放置プレイしてサブマシンを持ってマクドナルドで作業するかw 10210Uの限界を感じる pic.twitter.com/YSjKdP1WN4

2024-01-01 10:55:29
拡大
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

LLama.cppでファインチューニングする方法はこちらを参考。先駆者に大変感謝 zenn.dev/michy/articles… medium.com/axinc/llama-cppとloraを使用してpc上で日本語llmモデルを実行する-31195fd54737

2024-01-01 11:53:15
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llama.cppのLoRaはgithubのソースコードからmakeしてビルドするとfinetuneというコマンドが出来る。これを使用する。データセットは参考サイトに書いてある様に [INST] (質問内容) [/INST] (回答内容) ・・・ という感じでテキストファイルを作成して保存する ござるデータセットの場合は322行

2024-01-01 12:14:57
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

llama.cppのファインチューニングのコマンドは参考サイトそのままなのだが、手直ししたのが最初のスクショのコマンド --オプションの後に相対パスか絶対パスで指定 --train-dataの後に先程作成したテキストファイルを指定する pic.twitter.com/ZzYEH5bEf9

2024-01-01 12:28:08
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

エラーが出ずに無事ファインチューニングが終わったと想定して、実行には--loraオプションを入れて ./main -m models/ELYZA-japanese-Llama-2-7b-instruct-q8_0.gguf --lora (先程作ったファイル) -p "(質問内容)" 質問内容は学習に使ったデータを入力した方が良い じゃないと違いが分からない

2024-01-01 12:33:52
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

マクドナルドから自宅に帰ってllama.cppのファインチューニングの進捗チェック なんと見積もり時間が2日3時間の計算時間予測とな…。CPU遅すぎるわ〜 たったの5行でサンプル5でトークン221なのに… 動作確認出来るのは3日後か… pic.twitter.com/bDqklOinWV

2024-01-01 14:12:20
拡大
Kapper@Linuxガジェヲタ&異世界小説家&電子工作大好き @kapper1224

自宅に帰ってきて無事ファインチューニング完了を確認。CPUでやるとこんな感じでしたw main: total training time: 2d 04:49:20 real3169m48.131s user24892m15.174s sys25m4.311s どどどどどーすんの??? pic.twitter.com/tIRCpg6UUz

2024-01-03 20:27:36
拡大