Beta
Explore
Marketplace
Neural Labs
Chat
Wallet
Docs
UTokyoLLM2024_Final_Competition_model – AI Model by leonkundesu | AlphaNeural AI
You can deploy this model and start earning money today!
leonkundesu
/
UTokyoLLM2024_Final_Competition_model
like
0
transformers
safetensors
text-generation-inference
unsloth
llama
trl
en
llm-jp/llm-jp-3-13b
finetune
apache-2.0
endpoints_compatible
us
Views
No views yet
Model card
Files and Versions
Community
API
Deploy
Uploaded model
Developed by:
leonkundesu
License:
apache-2.0
Finetuned from model :
llm-jp/llm-jp-3-13b
This llama model was trained 2x faster with
Unsloth
and Huggingface's TRL library.
はじめに
このモデルは 東京大学松尾研究室公開講座 LLM2024で行われた最終コンペの結果を記録するものです
コンペで学習させたモデルを保存しています
提出時のスコアは
3.04
でした
使用したモデルとデータセット
モデル
上記に記載されている
llm-jp/llm-jp-3-13b
を使用しました
データセット
ichikara-instruction: LLMのための日本語インストラクションデータ(理化学研究所)を使いました
データセットの言語
名称
ライセンス
備考
Japanese
ichikara-instruction-003-001-1.json
CC-BY-NC-SA
ichikara-instruction: LLMのための日本語インストラクションデータ
ファインチューニング方法について
コードについて
講座運営が提供してくれたサンプルコードをベースにしました
Google Colab の T4ランタイムで動作させて、モデルをファインチューニングしました。
Supervised Fine-Tuning(教師ありファインチューニング)を使いました
すでに事前学習済みの大規模言語モデルに対して、特定のタスクや目的に合わせて、教師あり学習(Supervised Learning)を用いてファインチューニングを行う手法です。
具体的には、LoRA(Low-Rank Adaptation)を使っています
事前学習済みモデルの重みを凍結(固定) したまま、変換行列の重みの更新を 低ランク分解 という手法を使って効率化します
低ランク分解:行列の変換を、ランクの低い2つの行列 A と B に分解して近似します
パラメータの追加:凍結された重みに対し、追加の低ランク行列(学習可能な行列)を適用し、最終的な重みを調整します
これらは以下のpythonライブラリを利用して実現しています
pytorch
unsloth
trl
transformers
実行時間
Google Colab T4 ランタイムで およそ40分かかりました
モデルやデータをGPU側に送り込むことで高速化していました(コードからは削除しています)
.to('cuda')
のような関数をモデルオブジェクトに付与します
その他 (下記のコードに記載がない工夫)
過学習を避けるため学習用テストデータを使ったLossを追跡しました
WandBを組みわせています
コード
下記のgithubリポジトリを参照ください →
LoRA_unsloth_20241127_Tunned.ipynb