--- language: - ja - en datasets: - llm-jp/magpie-sft-v1.0 - kajuma/CC-news-2024-July-October-cleaned - weblab-GENIAC/aya-ja-nemotron-dpo-masked base_model: - google/gemma-2-9b - llm-jp/llm-jp-3-13b --- [東京大学松尾・岩澤研究室(松尾研)大規模言語モデル Deep Learning 応用講座 2024](https://weblab.t.u-tokyo.ac.jp/lecture/course-list/large-language-model/) におけるコンペティション提出物を配置するリポジトリです。 [elyza/ELYZA-tasks-100](https://huggingface.co/datasets/elyza/ELYZA-tasks-100) 風の独自の問題に対する出力を競います。 ## Models このリポジトリには複数のモデルが含まれています。 ファイル名の prefix に応じてベースモデル・ライセンス・トレーニングデータセットが異なります。 - `gemma2-9b-*` - ベースモデル: [google/gemma-2-9b](https://huggingface.co/google/gemma-2-9b) - [Gemma License](https://ai.google.dev/gemma/terms) ライセンス - `llm-jp-3-13b-*` - ベースモデル: [llm-jp/llm-jp-3-13b](https://huggingface.co/llm-jp/llm-jp-3-13b) - [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) (CC BY-NC-SA のデータを学習に用いたため) ## Training Dataset ### gemma2-9b-* - [kajuma/CC-news-2024-July-October-cleaned](https://huggingface.co/datasets/kajuma/CC-news-2024-July-October-cleaned) (ODC-By) - フィルタし本文部分を抽出して継続事前学習に利用 - [llm-jp/magpie-sft-v1.0](https://huggingface.co/datasets/llm-jp/magpie-sft-v1.0) (apache-2.0) - サンプリングして指示チューニングに利用 - [weblab-GENIAC/aya-ja-nemotron-dpo-masked](https://huggingface.co/datasets/weblab-GENIAC/aya-ja-nemotron-dpo-masked) (apache-2.0) - サンプリングして選好チューニングに利用 ### llm-jp-3-13b-* - [ichikara-instruction-003](https://liat-aip.sakura.ne.jp/wp/llm%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF%E4%BD%9C%E6%88%90/llm%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF-%E5%85%AC%E9%96%8B/) (CC BY-NC-SA) - サンプリングして指示チューニングに利用 - [llm-jp/magpie-sft-v1.0](https://huggingface.co/datasets/llm-jp/magpie-sft-v1.0) (apache-2.0) - サンプリングして指示チューニングに利用 ## 実行方法(コンペ採点者の方向け) ### 事前準備 ``` # lshw のインストール (ollama インストール時に GPU を検出するのに必要) $ apt update && apt install -y lshw # ollama (https://ollama.com/) のインストール & 起動 $ curl -fsSL https://ollama.com/install.sh | sh $ ollama serve # -- 以降は ollama サーバーが起動した状態で別ターミナルプロセスから実行 -- # モデルのダウンロード (2つ必要です) $ ollama pull hf.co/pokutuna/llm2024-competition:gemma2-9b-v11.gguf $ ollama pull hf.co/pokutuna/llm2024-competition:llm-jp-3-13b-v2-Q6_K.gguf # # Note. # ダウンロード後、success と出力されるのを確認して下さい。 # 演習環境で動作を確認済みですがネットワーク状況等により、 # timeout (context deadline exceeded) が発生することがあります。 # 何度か実行すれば走り切ります。 # 回答生成コードの pull $ git clone https://github.com/pokutuna/llm2024-competition-runner.git # 依存ライブラリのインストール $ pip install -r llm2024-competition-runner/requirements.txt ``` ### 出力の生成 (演習環境でおよそ 25~35 分程度かかります) ```sh $ python ./llm2024-competition-runner/generate.py \ --model="hf.co/pokutuna/llm2024-competition:gemma2-9b-v11.gguf" \ --sub-model="hf.co/pokutuna/llm2024-competition:gemma2-9b-v11.gguf" \ --tasks=./tasks.jsonl \ --outfile=./output-pokutuna.jsonl ``` - `--tasks=` - タスクデータ、各行に `input` フィールドを持つ JSONL ファイルへのパス (`elyza-tasks-100-TV_0.jsonl` と同じ構造を想定) - `--outfile=` - 結果の出力先、タスクデータの各行に対し `output` キーを出力結果として追加したもの