takaganasu's picture
Update README.md
5ae2ee7 verified
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を実施しています。

ライセンス

  • 本リポジトリで提供される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 を想定

実行手順

  1. HF_TOKENを設定
    コード冒頭の HF_TOKEN = "hf_..." 部分にご自身のHugging Faceトークンを貼り付けてください。
    トークンは huggingface-cli login で取得できます。

  2. base_model_idadapter_repo_id の設定

    • base_model_id にベースモデルIDを指定します(例:llm-jp/llm-jp-3-13b)。
    • adapter_repo_id にアップロード済みのLoRAアダプタリポジトリIDを指定します。
  3. elyza-tasks-100-TV_0.jsonl の用意
    推論対象となるタスクデータを同一フォルダに配置してください。

  4. コード実行
    inference_code.pyを実行します。必要なライブラリがインストールされ、モデルやトークナイザがロードされ、推論が開始されます。

  5. 結果確認
    実行後、submission_attempt.jsonlに推論結果がタスクごとに出力されます。

カスタマイズ

  • モデルパラメータ(max_new_tokens, temperature, top_pなど)をコード内で変更可能です。
  • LoRAアダプタを変更したい場合は、adapter_repo_idを別のリポジトリに変更します。
  • 分散学習やDeepSpeedなどの高度な最適化オプションを利用する場合は、TrainingArgumentsDPOConfigがサポートしている範囲で設定可能です。

注意点

  • モデルやLoRAアダプタの使用には対応するライセンスや利用条件に従ってください。
  • 大規模モデルを扱うため、メモリ不足エラーが発生する場合があります。その場合はバッチサイズやシーケンス長、LoRAパラメータなどを調整してください。