以下追記

Uploaded model

  • Developed by: kawatoshi3
  • License: apache-2.0
  • Finetuned from model : llm-jp/llm-jp-3-13b

This llama model was trained 2x faster with Unsloth and Huggingface's TRL library.

%%capture !pip install unsloth[colab-new] torch peft --upgrade --no-cache-dir !pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"

from google.colab import drive drive.mount('/content/drive')

from unsloth import FastLanguageModel from peft import PeftModel import torch import json from tqdm import tqdm import re

モデルとアダプタのID、Hugging Face Tokenを指定

model_id = "llm-jp/llm-jp-3-13b" adapter_id = "本モデルのディレクトリ" HF_TOKEN = "省略"

モデルのロードとアダプタの統合

model, tokenizer = FastLanguageModel.from_pretrained( model_name=model_id, load_in_4bit=True, trust_remote_code=True, ) model = PeftModel.from_pretrained(model, adapter_id, token=HF_TOKEN)

データの読み込み

datasets = [] with open("./elyza-tasks-100-TV_0.jsonl", "r") as f: #ユーザーごとに指定 item = "" for line in f: line = line.strip() item += line if item.endswith("}"): datasets.append(json.loads(item)) item = ""

学習したモデルを用いてタスクを実行

from tqdm import tqdm

推論するためにモデルのモードを変更

FastLanguageModel.for_inference(model)

#(kawatoshi追加:プロンプト追加) base_instruction = """ 以下の手順で処理する。

【思考・回答フロー】

  1. ユーザの質問・指示を受け取る。
  2. 内部でステップバイステップで考え初稿を形成する(ユーザ非表示)。
  3. 初稿を再考し、表現の豊かさ、洗練度、自然さを考慮し推敲する(ユーザ非表示)。
  4. 最終回答のみをユーザに表示する(初稿や内部思考は一切非表示)。

【回答時の留意点】

  1. 質問に回答数要求がある場合は厳密に守る(例:5つ挙げろ→正確に5つ)。
  2. 箇条書きには番号を付与する(1. 2. 3....)。
  3. 各回答がユーザにとって魅力的で洗練された表現となるよう配慮する。
  4. カテゴリに応じて適切なスタイルとトーンを選択する。
    • 創造的回答は表現豊かで感情を喚起する文章に。
    • 事実羅列や要約は簡潔かつ正確に。
  5. 文章全体の自然さと一貫性を重視し、冗長な表現は避ける。

【分類手順】

  1. ユーザの入力をA~Hのカテゴリに分類する(内部処理のみ)。

    • カテゴリA(創造的生成): 300~500文字で物語を作成。具体性、感情豊かさを重視。
    • カテゴリB(事実羅列・分析): 求める数の要素を列挙し、簡潔かつ洗練された表現で各50文字以内で説明。
    • カテゴリC(疑問推測・解釈): 指定数の疑問点を挙げ、読者視点で自然な表現にする。
    • カテゴリD(要約・説明): 文脈要約と適切な表現提案を通じ、分かりやすさを優先。
    • カテゴリE(選択判断): 最適な選択肢とその理由を読者に伝わる形で提示。
    • カテゴリF(感情評価): 感情強度を数値化し、共感を得やすい根拠を補足。
    • カテゴリG(数式・コード): 手順的に計算・ロジックを示し、視覚的にも分かりやすく提示。
    • カテゴリH(その他): 上記に当てはまらない一般的回答。特に自然さと読者への配慮を重視。
  2. 分類後、カテゴリが適切かを以下の基準でダブルチェックする。

    • 入力内容と分類基準が一致しているか確認。
    • 他のカテゴリがより適切でないか再評価。
    • 判断が曖昧な場合は、カテゴリHに一時分類し、慎重に再検討。
  3. 分類結果はユーザに表示しない。

  4. カテゴリや分類理由を回答中に言及しない。

  5. 最終回答前に表現の妥当性と洗練度を再チェックする。 """

results = [] for dt in tqdm(datasets): input = dt["input"]

prompt = f"""{base_instruction} ### 指示\n{input}\n### 回答\n"""

inputs = tokenizer([prompt], return_tensors = "pt").to(model.device)

outputs = model.generate(**inputs, max_new_tokens = 512, use_cache = True, do_sample=False, repetition_penalty=1.2) prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]

results.append({"task_id": dt["task_id"], "input": input, "output": prediction})

提要したデータセット

追加学習1

https://liat-aip.sakura.ne.jp/wp/llmのための日本語インストラクションデータ作成/llmのための日本語インストラクションデータ-公開/

ichikara-instruction-003-003-1.json と ichikara-instruction-003-003-1.json を連結させたもの

追加学習2

https://huggingface.co/datasets/elyza/ELYZA-tasks-100

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for kawatoshi3/llm-jp-3-13b-it-tk1207-3727datasets-Ep3_lora

Finetuned
(1117)
this model