15.6K Views
May 03, 24
スライド概要
Local LLM初心者です。
Local Novel LLM Project Slide: たいら ローカルLLM小説生成モデル _____ is All You Need
Local Novel LLM Project Slide: たいら ローカルLLM小説生成モデル Merge is All You Need
00 メンバー紹介 コアメンバー ・ゆうっち X:@int_float 担当:プロジェクトリーダー・モデル評価 ・うみせ X:@UiE029 担当:データセット作成・エンジニアリング・ロゴ作成 ・エクスヴェリア X:@nzk1015 担当:データセット作成・エンジニアリング ・弥生 水葉 X:@yayoi_mizuha 担当:データセット作成
00 メンバー紹介 サブメンバー ・たいら X:@TylorShine 担当:モデル学習・エンジニアリング
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
n o i t c e S 01 成果発表・デモ
02 プロジェクトの経緯 Project Ninja小説生成モデルを公開しました! >>> https://huggingface.co/Local-Novel-LLM-project
01 成果発表・デモ 使用モデル: Local-Novel-LLM-project/Ninja-v1
01 成果発表・デモ 使用モデル: Local-Novel-LLM-project/Ninja-v1-128k
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
n o i t c e S 02 プロジェクトの経緯
02 プロジェクトの経緯 小説を書けるローカルLLMを作りたい! - ハッカソン第0回にてチームを立ち上げる
02 プロジェクトの経緯 小説を書けるローカルLLMを作りたい! - ハッカソン第0回にてチームを立ち上げる モチベーション: - 某N◯velAIとかAI◯べりすとみたいなストーリー生成をローカルでやりたい!
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
n o i t c e S 03 Ninjaになるまで
03 Ninjaになるまで ベースモデルの選定 当初はフルスクラッチでモデル構築、学習という話だったが、 いくらつよつよマシン環境 (本当にありがとうございます!! ) とはいえ ゼロからの学習だと効率が悪いだろう > モデルのFine-Tuningを基本に良い方法を探る方針に
03 Ninjaになるまで ベースモデルの選定 候補モデルたち: Apache-2.0など、できるだけ緩い制限のモデルに絞る - Stability AI: Japanese StableLM-3B-4E1T Base / Base Gamma 7B - Google: Gemma 7B base model - Line Corp.: japanese-large-lm (1.7b, 3.6b) > モデルのFine-Tuningを基本に良い方法を探る方針に
03 Ninjaになるまで ベースモデルの選定 候補モデルたち - 東京工業大学: Swallow-MS-7b-v0.1 まず、Swallow-MS-7b-v0.1 (以下、Swallow) をベースモデルとして使用させていた だき検討することにしました > モデルのFine-Tuningを基本に良い方法を探る方針に
03 Ninjaになるまで ベースモデルの選定 候補モデルたち - 東京工業大学: Swallow-MS-7b-v0.1 まず、Swallow-MS-7b-v0.1 (以下、Swallow) をベースモデルとして使用させていた だき検討することにしました > で、どうする?
03 Ninjaになるまで ChatVectorのマージ @jovyan さんの記事: Chat Vectorを使って日本語LLMをチャットモデルに改造する - 元論文: Chat Vector: A Simple Approach to Equip LLMs with Instruction... > で、どうする?
03 Ninjaになるまで ChatVectorのマージ @jovyan さんの記事: Chat Vectorを使って日本語LLMをチャットモデルに改造する - 元論文: Chat Vector: A Simple Approach to Equip LLMs with Instruction... これは...引いて足すだけ...だと... > で、どうする?
03 Ninjaになるまで ChatVectorのマージ @jovyan さんの記事: Chat Vectorを使って日本語LLMをチャットモデルに改造する - 元論文: Chat Vector: A Simple Approach to Equip LLMs with Instruction... これは...引いて足すだけ...だと... > 早速Swallowさんに適用してみた
03 Ninjaになるまで ChatVectorのマージ 大まかなコード(jovyanさんの記事のコードを簡略化):
03 Ninjaになるまで TaskVectorのマージ 似た処理をともなう実験を何度も施行するうちに - “ninja-merger.py”ができました - 当初はTask Vectorのマージのみでしたが、機能が増えていきました - MergeKit よりTaskVectorの扱いが楽...かな? TIESとかは未実装です... - 後日Apache-2.0 Licenseで公開します!
03 Ninjaになるまで TaskVectorのマージ WizardLM2-7B + (Swallow-MS-7B - Mistral-7B) = ? 出力結果: > …(vocab_sizeの違うTokenizerかつ未学習のため誤字脱字など散見されますが) 合成できてそう!別モデルでも試してみる
03 Ninjaになるまで TaskVectorのマージ ChatNTQ-JA-7B + (WizardLM2-7B - Mistral-7B) = ? 出力結果: > …???
03 Ninjaになるまで TaskVectorのマージ ChatNTQ-JA-7B + (WizardLM2-7B - Mistral-7B) = ? 出力結果2: >
03 Ninjaになるまで TaskVectorのマージ ChatNTQ-JA-7B + (WizardLM2-7B - Mistral-7B) = ? 出力結果2: > …つよい...もうこれでいいのでは?
03 Ninjaになるまで TaskVectorのマージ ChatNTQ-JA-7B + (WizardLM2-7B - Mistral-7B) = ? 出力結果2: > …つよい...もうこれでいいのでは?(ここまでハッカソン開始前)
03 Ninjaになるまで TaskVectorのマージ mergekitでのマージ - よさげなモデル+Ninjaを並べてTIESなどでいい感じにマージ > 日本語アシスタント性能が良さげなモデル Vecteus (の前身)ができました! > …つよい...もうこれでいいのでは?(ここまでハッカソン開始前)
03 Ninjaになるまで ハッカソン開始 学習方針 - モデルが素の状態で性能良いため、Full Fine-Tuningはハードル高そう > LoRAで小説生成タスクを強化してみよう > 小説データセット、約580MB - 使用したライブラリ: LLaMA-Factory: Unify Efficient Fine-Tuning of 100+ LLMs - とてもお手軽。数多のモデルやDeepSpeed、Unslothも標準サポート - GUI(gradio)もあるので設定が楽(GUIからマルチGPU使用は未サポート)
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
n o i t c e S 04 Ninjaが出来てからのアレコレ
04 Ninjaが出来てからのアレコレ ハッカソン開始 LoRA hparams比較実験 (以下はもちろん今回のモデルでの傾向です) - rsLoRA有効 + LoRA Rank 256、Q, K: 効きすぎてループ出力しやすかった - (一般的な7B程度のモデルでよく見る単語ループではなく長いレンジかつ意味合いでのループのような感じ) - rsLoRA無効 + LoRA Rank 128、excl. embed_tokens, lm_head: - いい感じだけれどもうちょっとチューニングできそう など、多くのパターンを試行しました。
04 Ninjaが出来てからのアレコレ mergekit-evo…? 途中でmergekitにmergekit-evo(世代進化マージ)がcommitされました > 早速つかおう!!...How To 進化時の評価...? > lm-evaluation-harness が使用できる!が日本語対応ブランチは旧Ver… > v0.4に一部日本語タスクを移植しました。(後日、他タスク対応&整理してPull Request出す予定です!) > 独自に小説推敲評価用タスクも書きました。
04 Ninjaが出来てからのアレコレ mergekit-evo…? 結果:うまく進化してそうです。 最初自前タスクの設定ミスに気づかず「だめかなー」な雰囲気で設定直したあととりあ えず生成続けたモデルを放置... - 後にふと生成を試してみると結果が良さそうだったので、進化途中モデルも後日 整理して公開します! - もっと継続して進化させたい気持ち...
04 Ninjaが出来てからのアレコレ axolotl Freeze Layerの設定の柔軟性かなにかの理由で学習用ライブラリをaxolotlに > 設定とか使いやすかったです。一通りの機能もそろっててすばらしい!! 後半はこちらで入出力レイヤーのFTなどをしました。
目次 01 成果発表・デモ Results and Demonstration 02 プロジェクトの経緯 History and Progress 03 Ninjaになるまで The Syugyo 04 Ninjaが出来てからのアレコレ Something After to be Ninja CONTENTS 05 Ninjaのこれから Future
n o i t c e S 05 Ninjaのこれから
05 Ninjaのこれから TODOs ・Mergeを続けたい、設定詰めたり研究したい ・Evo Mergeを続けたい ・Ninja-V1モデルでの評価など、品質評価タスクを詰めたい ・LoRA、FTなどで特定タスク、ジャンルなどに特化したものを量産したい ・Mergeを続けたい!!
05 Ninjaのこれから 結論
05 Ninjaのこれから Merge is All You Need
05 Ninjaのこれから ご清聴ありがとうございました!!