モデル

  • rinna/bilingual-gpt-neox-4b-instruction-sftに、84,300件の和訳データセットをフルパラメータファインチューニングしたモデルです。
  • izumi-lab/llm-japanese-datasetから和訳タスクのデータセットのみ抽出し、学習に使用しました。
  • instructionに「以下の英語を日本語に翻訳してください。」と記載されたデータのみ機械的に抽出し、学習に使用しました。
  • ryota39/Tora_4Bも公開しておりますのでご覧ください。

学習

  • ハードウェア: 1 x NVIDIA RTX A6000(VRAM48GB)
  • 使用VRAM: 32~34GB
  • 学習時間: 5h 39m 37s
  • train/epoch: 2.61
  • train/loss: 0.9958
  • eval/loss: 0.9223530292510986
  • optimizer: Adam
  • learning_rate: 1.5e-5
  • lr_scheduler_type: "cosine"
  • warmup_steps: 500

学習結果

image/png

image/png

コード

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("rinna/bilingual-gpt-neox-4b-instruction-sft", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("ryota39/bilingual-gpt-neox-4b-instruction-sft-en-ja-84k")

if torch.cuda.is_available():
    model = model.to("cuda")

prompt = list()
prompt.append("指示: 以下の英語を日本語に翻訳してください。")
prompt.append("ユーザー: Do you deliver on Sundays?")
prompt.append("システム: ")
prompt = '\n'.join(prompt)
print(prompt)

token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")

with torch.no_grad():
    output_ids = model.generate(
        token_ids.to(model.device),
        max_new_tokens=512,
        do_sample=False,
        temperature=0.7,
        top_p=0.85,
        pad_token_id=tokenizer.pad_token_id,
        bos_token_id=tokenizer.bos_token_id,
        eos_token_id=tokenizer.eos_token_id
    )

output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1):])
print(output)
Downloads last month
19
Safetensors
Model size
3.8B params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Dataset used to train ryota39/bilingual-gpt-neox-4b-instruction-sft-en-ja-84k

Collection including ryota39/bilingual-gpt-neox-4b-instruction-sft-en-ja-84k