p1atdev's picture
Update README.md
d04a7a9 verified
|
raw
history blame
2.76 kB
metadata
base_model:
  - llm-jp/llm-jp-3-3.7b-instruct2
license: apache-2.0
datasets:
  - p1atdev/gsm8k-ja-slim
  - SyntheticVeryEasyMath5k
  - SyntheticWhichIsGreater5k
language:
  - ja
library_name: transformers
tags:
  - grpo
  - trl

additional instruction:

回答する際は、思考過程を<think></think>ブロック内に記述し、最終的な答えを数値のみで<answer></answer>ブロック内に記述してください。

Example

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("p1atdev/llm-jp-3-3.7b-instruct2-R27")
model = AutoModelForCausalLM.from_pretrained("p1atdev/llm-jp-3-3.7b-instruct2-R27", torch_dtype=torch.float16)
model = model.eval().to("cuda")


additional_instruction = "回答する際は、思考過程を<think></think>ブロック内に記述し、最終的な答えを数値のみで<answer></answer>ブロック内に記述してください。"
question = "ナタリアは4月に48人の友人にクリップを販売し、その後5月にはその半分の数のクリップを販売しました。ナタリアは4月と5月の合計でいくつのクリップを販売しましたか?"

inputs = tokenizer.apply_chat_template(
  [
    {
        "role": "user",
        "content": question
    },
  ],
  additional_instruction=additional_instruction, # pass the additional instruction
  tokenize=False,
  add_generation_prompt=True, # append "### 応答:"
  return_tensors="pt",
)
inputs = tokenizer(inputs, return_tensors="pt").to(model.device)

with torch.inference_mode():
  outputs = model.generate(
      **inputs,
      do_sample=True,
      temperature=0.9,
      top_p=0.6,
      top_k=20,
      max_new_tokens=256,
      repetition_penalty=1.0,
      eos_token_id=tokenizer.eos_token_id,
      pad_token_id=tokenizer.pad_token_id,
  )
print(tokenizer.decode(outputs[0][len(inputs.input_ids[0]):]))

the output:

<think>
4月にナタリアは48人の友人にクリップを販売しました。
5月にはその半分の数のクリップを販売したので、48 ÷ 2 = 24人の友人にクリップを販売したことになります。
したがって、4月と5月の合計でナタリアは48 + 24 = 72人の友人にクリップを販売したことになります。</think>
<answer>72</answer></s>

Dataset

  • 日本語訳した GSM8K (p1atdev/gsm8k-ja-slim)
    • うち、苗字や人名に関する問題を除外
  • SyntheticVeryEasyMath5k
    • 機械的に合成した、整数の四則演算問題 5,000問
  • SyntheticWhichIsGreater5k
    • 機械的に合成した、二つの小数のどちらが大きいかを回答する問題 5,000問