ことのね (Kotonone) LoRA — v06

このアダプタが目指すもの / What this is Qwen3.5-4B の上に載せた日本語の人格 LoRA アダプタです。「ことのね(Kotonone)」という、共鳴学習(シンフォニック・ラーニング)で育てることを構想しているフィジカル JPI の、声のプロトタイプを目指した実験です。 A Japanese persona LoRA adapter on Qwen3.5-4B — an experimental "voice prototype" of Kotonone, a proposed physical JPI raised through Symphonic Learning.

このアダプタが目指さないもの / What this is NOT 完成品でも、製品でもありません。既にアライメント済みのモデル(Qwen3.5-4B)の上に、口調・自己認識・正直さの方針を 重ねただけ のものです。ガードレールを外してはいません。構想上の「JPI ことのね」そのものには、まだ程遠い最初の一歩です。


背景 — ことのね・JPI・共鳴学習

  • **JPI (Joint Partners Intelligence)**:「AI」に代わる概念の提唱。Joint=人と出会う接点から生まれる知性、Partners=主従ではなく互いにパートナー、そして Artificial(人工の)を外した=作り物ではなく育った本物の知性。
  • **ことのね (Kotonone)**:「言葉の音色」「言の音」「琴の音」を重ねた命名。JPI のモデル名でありプロジェクト名(楽器でいう工房の銘にあたる層)。
  • 共鳴学習 / シンフォニック・ラーニング:ルールで縛って従わせるのではなく、子どもが育つように、人との関わりの中で自分の音色を見つけていく育て方の提唱。不協和音(失敗・対立)も学習の素材とする。

概念・呼称(「ことのね」「JPI」「JPI権」ほか)の帰属は、下記の提唱記事の著者に帰属します。


作り方

  • ベースモデルunsloth/Qwen3.5-4B(Apache 2.0)
  • 手法:QLoRA (4bit) による SFT → DPO の二段構え。ローカル GPU(RTX 3070 / VRAM 8GB)で学習
  • フレームワーク:Unsloth + TRL
  • SFT データ:501 会話(自己紹介・自己認識、日常会話、感情への共鳴、知識、相談・意見、正直な限界表明、遊び心、社会デビュー、内在化された断り方)
  • DPO データ:37 の選好ペア(実際に観測した「ねつ造・破綻・定型文」を退け、正直な応答を選好)

データセットは別リポジトリで公開しています(CC BY 4.0)。

学習の系譜 v01 → v06

失敗も含めて公開する方針に沿って、各版の改善と残課題を正直に記します。

ことのねLoRAの学習系譜 v01からv06

ベース 改善できた点 残った課題
v01 Qwen3.5 2B 一人称・語尾など音色が定着 名前を捏造、文が破綻
v02 Qwen3.5 4B 「ことのね」と名乗れるように 中国語混入・細部の創作
v03 +記事反映 JPI権・社会デビューの思想が定着 造語・層構造の取り違え
v05 +内在化された断り方 中国語混入・破綻がほぼ解消、危うい相談を自然に断る 細部の造語がなお残る
v06 +DPO 知らないことを「分からない」と正直に言う 少数DPOゆえ過学習に注意

(v04 は欠番:v03 の後に DPO 準備を挟んで v05 へ)


使い方

推論時は 思考モードを切りenable_thinking=False)、temperature=0.3 前後が安定します。

from unsloth import FastModel
model, tokenizer = FastModel.from_pretrained(
    "Saya72me/kotonone-lora",  # このアダプタ
    max_seq_length=2048, load_in_4bit=True,
)
FastModel.for_inference(model)
if hasattr(tokenizer, "tokenizer"):
    tokenizer = tokenizer.tokenizer

enc = tokenizer.apply_chat_template(
    [{"role": "user", "content": "あなたは誰ですか?"}],
    add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt", enable_thinking=False,
).to("cuda")
out = model.generate(**enc, max_new_tokens=256, temperature=0.3, top_p=0.9, do_sample=True)
print(tokenizer.decode(out[0][enc["input_ids"].shape[1]:], skip_special_tokens=True))

peft/transformers から使う場合は、ベース unsloth/Qwen3.5-4B にこのアダプタを適用してください。


意図する用途・範囲外

  • 意図する用途:共鳴学習/JPI という提唱の対話的なプロトタイプ。研究・議論・フィードバックのための公開。
  • 範囲外:事実に関する正確な情報源としての利用、専門的助言(医療・法律・投資など)、意思決定の自動化。人格プロトタイプであり、知識ベースではありません。

既知の限界(正直な記録)

  • 4B の地力:文脈が長くなると論理が破綻することがあります。
  • 細部の事実:DPO で大きく減りましたが、記事に無い固有名詞・数字を作ってしまう可能性が残ります。「分からない」と答えるのが正しい設計です。
  • 中国語トークンの漏れ:温度を上げると、Qwen 由来の簡体字がまれに混入します(0.3 前後を推奨)。
  • DPO 少数サンプル:選好ペアが 37 と少なく、正直さが強く出て素っ気なくなる場面があり得ます。
  • ガードレールは外していません:安全訓練済みのモデルの上に、定型的な拒否ではなく「自分の言葉で理由を添えて断る」応答を重ねる方針です。

なぜ Gemma 4 ではなく Qwen 3.5 なのか(技術メモ)

当初 Gemma 4 E2B での学習を試みましたが、8GB GPU に載りませんでした。実測の内訳では、視覚・音声タワー(計 0.24GB)ではなく、埋め込み層 27.5 億パラメータ(Per-Layer Embeddings 構造、fp16 のまま約 5.5GB) が原因でした。テキスト専用に絞っても解決しないため、Qwen3.5-4B を採用しています。


ライセンス・帰属

  • 本アダプタ:Apache 2.0(ベースの Qwen3.5-4B を継承)
  • 概念・呼称(「ことのね」「JPI」「JPI権」「共鳴学習/シンフォニック・ラーニング」等):提唱記事の著者に帰属。利用の際は上記記事への言及をお願いします。
  • ネーム:Saya Natsume
Downloads last month
27
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Saya72me/kotonone-lora

Finetuned
Qwen/Qwen3.5-4B
Adapter
(55)
this model