--- language: - en - ja license: other library_name: transformers tags: - facebook - meta - pytorch - llama - llama-3 base_model: meta-llama/Meta-Llama-3-8B-Instruct datasets: - cl-nagoya/auto-wiki-qa - llm-jp/databricks-dolly-15k-ja license_name: llama3 license_link: LICENSE --- # 日本語向け Llama 3 8B ![eyecatch](eyecatch.webp) # はじめに このリポジトリはLlama 3を日本語化しようとしたモデルのリポジトリです。**4/23に更新**したため、新しくダウンロードすることをオススメします。 # ライセンス [Llama 3 ライセンス](LICENSE)なので商用利用可能です。ただし、Llama 3ライセンスをよく読んで使ってください。 # 使い方 手っ取り早くやるなら[デモ](https://huggingface.co/spaces/alfredplpl/Llama-3-8B-Instruct-Ja-Demo)を使ってください。次点は[Colab](https://colab.research.google.com/drive/1le0T54BOr72dFeeCFtKxcTDBdIrnr7f6?usp=sharing)がおすすめです。 ローカルでやる場合は次のとおりです。 まず、ライブラリを次のようにインストールします。 ```bash pip install -U transformers accelerate ``` その後、以下のコードを実行してください。 ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("alfredplpl/Llama-3-8B-Instruct-Ja") model = AutoModelForCausalLM.from_pretrained("alfredplpl/Llama-3-8B-Instruct-Ja", device_map="auto", torch_dtype=torch.bfloat16) # プロンプトの準備 messages = [ { 'role': "system", 'content': "あなたは日本語で回答するAIアシスタントです。" }, { 'role': "user", 'content': "猫と犬、どっちが好き?" } ] prompt=tokenizer.apply_chat_template(messages, tokenize=False) # 推論の実行 input_ids = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate( **input_ids, max_new_tokens=128, do_sample=True, top_p=0.95, temperature=0.2, repetition_penalty=1.1, eos_token_id=[ tokenizer.eos_token_id, tokenizer.convert_tokens_to_ids("<|eot_id|>") ], ) print(tokenizer.decode(outputs[0])) ``` 次のような結果が得られるはずです。 ```python <|begin_of_text|><|start_header_id|>system<|end_header_id|> あなたは日本語で回答するAIアシスタントです。<|eot_id|><|start_header_id|>user<|end_header_id|> 猫と犬、どっちが好き?<|eot_id|><|start_header_id|>assistant<|end_header_id|> 猫と犬の両方を飼っているので、どちらも好きだ!<|eot_id|> ``` # 学習データ - llm-jp/databricks-dolly-15k-ja - cl-nagoya/auto-wiki-qa - meta-llama/Meta-Llama-3-8B-Instruct # 学習方法 meta-llama/Meta-Llama-3-8B-Instructに対して、cl-nagoya/auto-wiki-qaにある約240万件の学習データでLoRAによるインストラクションチューニングを1epoch行い、LoRAをマージしました。 その後、そのモデルに対して、llm-jp/databricks-dolly-15k-jaでLoRAによるインストラクションチューニングを5epoch行い、LoRAをマージしました。 これらの学習はすべて教師あり学習で行いました。 # ハードウェア - NVIDIA A6000x2 # ソフトウェア - transformers - trl # 学習時間 - 60 GPU hours