metadata
license: cc-by-nc-sa-4.0
datasets:
- elyza/ELYZA-tasks-100
language:
- ja
base_model:
- llm-jp/llm-jp-3-13b
README
このリポジトリには、llm-jp/llm-jp-3-13b
にLoRAアダプタを適用したモデルでタスク推論を行うコードが含まれます。
概要
inference_code.py
:推論を行うためのコード。- ベースモデルとLoRAアダプタをHugging Face Hubからロードし、4bit量子化でGPUメモリ負荷を低減しながらタスクを処理します。
elyza-tasks-100-TV_0.jsonl
のようなタスク定義ファイルから入力を読み込み、モデルによる応答を生成します。- 推論結果は
submission_attempt.jsonl
というファイルにJSON Lines形式で保存します。
ベースモデル
使用したデータ
本LoRAアダプタは以下のデータを用いてSFTを実施しています。
- ichikara-instruction データ (CC-BY-NC-SA)
- ELYZA-tasks-100 データセット
ライセンス
- 本リポジトリで提供されるLoRAアダプタおよび生成物は CC-BY-NC-SA-4.0 の下で提供されます。
- ベースモデルおよび元データセットのライセンスについては、それぞれの提供元で定められた条件に従ってください。
ファイル構成
inference_code.py
:推論コードelyza-tasks-100-TV_0.jsonl
:タスク入力用JSONLファイル(事前にアップロード)submission_attempt.jsonl
:推論結果出力ファイル(コード実行後に生成)
前提条件
- Python 3.10 以上(ColabやOmnicampus環境を想定)
- Hugging Face Hubへのアクセス可能なトークン(
HF_TOKEN
変数で指定) - 使用するモデル(
base_model_id
)およびLoRAアダプタ(adapter_repo_id
)へのread権限 - 4bit量子化・bfloat16対応のGPU(NVIDIA L4)RAM:24GB ストレージ:200GB を想定
実行手順
HF_TOKEN
を設定
コード冒頭のHF_TOKEN = "hf_..."
部分にご自身のHugging Faceトークンを貼り付けてください。
トークンはhuggingface-cli login
で取得できます。base_model_id
とadapter_repo_id
の設定base_model_id
にベースモデルIDを指定します(例:llm-jp/llm-jp-3-13b
)。adapter_repo_id
にアップロード済みのLoRAアダプタリポジトリIDを指定します。
elyza-tasks-100-TV_0.jsonl
の用意
推論対象となるタスクデータを同一フォルダに配置してください。コード実行
inference_code.py
を実行します。必要なライブラリがインストールされ、モデルやトークナイザがロードされ、推論が開始されます。結果確認
実行後、submission_attempt.jsonl
に推論結果がタスクごとに出力されます。
カスタマイズ
- モデルパラメータ(
max_new_tokens
,temperature
,top_p
など)をコード内で変更可能です。 - LoRAアダプタを変更したい場合は、
adapter_repo_id
を別のリポジトリに変更します。 - 分散学習やDeepSpeedなどの高度な最適化オプションを利用する場合は、
TrainingArguments
やDPOConfig
がサポートしている範囲で設定可能です。
注意点
- モデルやLoRAアダプタの使用には対応するライセンスや利用条件に従ってください。
- 大規模モデルを扱うため、メモリ不足エラーが発生する場合があります。その場合はバッチサイズやシーケンス長、LoRAパラメータなどを調整してください。