alfredplpl's picture
Upload LlamaForCausalLM
f1a9c62 verified
|
raw
history blame
3.38 kB
metadata
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

はじめに

このリポジトリはLlama 3を日本語化しようとしたモデルのリポジトリです。4/23に更新したため、新しくダウンロードすることをオススメします。

ライセンス

Llama 3 ライセンスなので商用利用可能です。ただし、Llama 3ライセンスをよく読んで使ってください。

使い方

手っ取り早くやるならデモを使ってください。次点はColabがおすすめです。 ローカルでやる場合は次のとおりです。

まず、ライブラリを次のようにインストールします。

pip install -U transformers accelerate

その後、以下のコードを実行してください。

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]))

次のような結果が得られるはずです。

<|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