以下追記

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 is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no pipeline_tag.

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

Finetuned
(1118)
this model