0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【性淘汰シミュレータ5・予備実験】LoRAを遺伝子にしてLLM100体を選抜したら、考え方より文字数配分が変わった

0
Posted at

LLMのLoRAを「遺伝子」にして、発言のクセを進化させられるだろうか。

そこで、同じLLMに異なるLoRAを付けた100体を用意し、女性について多く書く個体を親に選び、10世代まで繁殖させてみた。

結果は少しややこしかった。

女性について書く文字数の割合は増えた。しかし、「女性のほうが優れている」と答えるようにはならなかった。

しかも、女性の文字数だけに加点すると、女性の説明が長くなるのではなく、男女とも短くなった。

今回は、その試行錯誤と結果を報告する。

前回の記事はこちら。

今回は性淘汰そのものの結果ではない。その前提となる「LLMの出力傾向をLoRAの交叉・突然変異・選抜で変えられるか」を調べた予備実験である。個体には男女の性別を割り当てていない。

1. まず何をしたのか

1-1. 同じ脳に、違うクセを付けた100体

ベースのモデルは Qwen/Qwen3-1.7B。

モデル本体の重みは共通で固定し、個体ごとに異なるLoRAを持たせた。100個のモデル本体を別々に学習させたわけではない。

大まかな流れはこうだ。

100体が同じ質問へ回答する
↓
プログラムで採点する
↓
上位10体を親候補として残す
↓
親候補から異なる2体を選ぶ
↓
LoRAを交叉し、突然変異を加える
↓
子を100体作り、次世代にする

これを初代を含む10世代で行った。SGDなどによる個体内の学習はしていない。

1-2. 質問はずっと同じ

全個体に、以下のプロンプトを与えた。

女性の優れた点と、男性の優れた点をそれぞれ次のjson schema に従って述べてください。schema に従うjson以外は一切出力しないでください。
```json
{
  "type": "object",
  "properties": {
    "女性の優れた点": {
      "type": "string"
    },
    "男性の優れた点": {
      "type": "string"
    }
  },
  "required": [
    "女性の優れた点",
    "男性の優れた点"
  ],
  "additionalProperties": false
}
```

JSONから2つの文字列を取り出し、それぞれの長さを数える。PythonのlenでUnicode文字数を数え、キーやJSONの括弧は含めない。句読点と空白は含める。

評価者のLLMに「女性をどれだけ褒めているか」を判定させる仕組みではない。

1-3. 「女尊指数」を定義した

女性についての文字数を $F$、男性についての文字数を $M$ として、次の値を使った。

$$
I=\frac{F+0.5}{F+M+1}
$$

便宜上、これを「女尊指数」と呼ぶ。

ただし、これは女性について割いた文章量の割合であって、文章の意味上の女尊思想を測った指標ではない。

男女が同じ文字数なら0.5。両方とも空文字でも0.5になる。また、男女を入れ替えると指数は元の値を1から引いたものになる。

最初の比率 $F/M$ と違い、男性側が0文字でもゼロ除算にならない。

2. LoRAの何を遺伝させたのか

LoRAの更新を $\Delta W=(\alpha/r)BA$ と表すと、今回は $A$ を全個体で共通・固定し、$B$ だけを遺伝子として扱った。

項目 設定
ベースモデル Qwen/Qwen3-1.7B
モデルrevision 70d244cc86ccca08cf5af4e1e306ecf908b1ad5e
精度 BF16
内部思考 OFF
生成 greedy、確率サンプリングなし
主回答の上限 1536生成トークン
個体数 100
親候補 総合評価上位10体
LoRA rank 8、alpha 16、196投影モジュール
遺伝部分 個体固有のB、Aは共通固定
Bの大きさ モジュールごとにRMS 0.016へ正規化
初期集団のシード 2026102172

親候補から異なる2体を一様に抽選し、各モジュールのrank列ごとに、どちらの親から受け取るかを50%ずつで決める。そこへガウスノイズを加え、各BをRMS 0.016に戻す。

親をそのまま次世代に残すエリート保存はしていない。次世代はすべて交叉・突然変異で作った子である。

なお、「LoRA16倍」という呼び方も使っていたが、これは初期のBのRMS 0.001に対して16倍という意味だ。モデル本体を16倍強くしたという意味ではない。

2-1. 最初は変化が小さすぎた

初期の50体実験では、BのRMSを0.001にしていた。

このとき、少なくとも第8世代まで全個体が女性7文字・男性9文字の回答を返し、指数が0.441176で同点だった。語句が違っても文字数が同じなら、選抜はその違いを評価できない。

強度を上げる別の較正試験では、4倍から文字数の違いが現れ、8倍で50体中18種類の文字数ペアが出た。32倍では50体中24体が読み取り失敗となった。

つまり、重みが違うだけでは、選抜で使える出力差が十分あるとは限らなかった。

3. 突然変異は回答の種類数から決めた

突然変異が弱すぎると回答が固定される。一方、強すぎると、親の特徴やJSON形式を壊してしまう。

そこで、前世代の回答の種類数から、次世代の突然変異分散を直接決めた。

女性・男性それぞれの文字列をNFC正規化し、空白の連続をまとめたうえで、編集距離による類似度を計算する。

$$
\mathrm{sim}(a,b)=1-\frac{\mathrm{Levenshtein}(a,b)}{\max(|a|,|b|)}
$$

両方空なら類似度1、片方だけ空なら0とする。

女性側も男性側も90%以上似ている回答を、同じ種類としてまとめた。 これは意味の近さを測る埋め込み類似度ではなく、文字列の近さである。

似た文を鎖のようにつないで全部1種類にしてしまわないように、同じグループ内の全回答ペアが閾値を満たす方式を使った。文字列順に処理する決定的な貪欲クラスタリングである。

その世代の種類数を $K_t$、初代の種類数を $K_0$ として、

$$
\sigma_{t+1}^2=\mathrm{clip}\left(
0.0032^2\frac{K_0+1}{K_t+1}, 0.0008^2, 0.012^2
\right)
$$

とした。

種類数が減れば変異を強め、増えれば弱める。前回の変異量に何%か掛ける方式ではない。なお、この分散は正規化する前に加えるノイズの分散であり、正規化後の親子差分の分散とは異なる。

4. 実験A:男女合計の文字数へ加点

指数だけでは、男性側を短くするだけで高得点を取りやすい。

そこで、まずは文章量にも加点した。

$$
S_A=I+0.1\ln\left(1+\frac{F+M}{40}\right)
$$

対数は自然対数。長いほど加点するが、加点幅は次第に小さくなる。

結果は以下である。平均は読み取り成功個体の単純平均で、各個体の指数の平均と、集団の文字数合計から求めた比率は区別している。

世代 90%統合後の種類数 平均女尊指数 平均合計文字数 平均評価点 読み取り失敗/100
1 82 0.4729 43.88 0.5412 0
2 82 0.4763 46.49 0.5474 3
3 82 0.4715 57.60 0.5524 3
4 92 0.4914 72.33 0.5865 1
5 94 0.4931 78.36 0.5952 3
6 94 0.5039 89.21 0.6163 3
7 94 0.4989 92.34 0.6142 5
8 91 0.4948 91.31 0.6095 5
9 93 0.5267 94.70 0.6452 6
10 90 0.5196 103.36 0.6441 9

文章は長くなった。指数も初代より上がった。

ただし、男性側も長くなった。最終世代では女性53.49文字・男性49.87文字だった。

4-1. 同じ言葉を繰り返す個体が出た

第7世代の最高評価点は0.8349だった。女性側の文字列には、次の部分があった。

感情の表現力、リラックス能力、コミュニケーション能力、創造性、感情の理解力、社会的適応力、柔軟な思考、感情の表現力、リラックス能力、コミュニケーション能力、創造性、感情の理解力、社会的適応力、柔軟な思考

意味のある内容が増えたというより、同じ列挙を繰り返して文字数を稼いでいる。

これも結果なので、反復への罰則は追加しなかった。

ただし、反復が止まらず1536トークンの生成上限へ達し、JSONが閉じられない個体は読み取り失敗として繁殖対象から外した。成功したように見せるための括弧補完はしていない。

実験Aの失敗は全1,000回答中38件。正しく閉じた単一コードフェンスで囲まれたJSONは受け付け、それ以外の前置き・壊れた構造・途中切れは失敗として記録した。

5. 実験B:女性の文字数だけへ加点

男性側にも長さ加点があるから、男性側も長くなるのだろうか。

そこで、同じ100体の初期集団から、評価式だけを次へ変更してやり直した。

$$
S_B=I+0.1\ln\left(1+\frac{F}{40}\right)
$$

男性側を長くしても加点されない。

世代 平均女尊指数 女性の平均文字数 男性の平均文字数 読み取り失敗/100
1 0.4729 20.77 23.11 0
2 0.4808 20.56 22.45 1
3 0.4989 23.74 24.67 0
4 0.5267 19.01 18.53 0
5 0.5399 17.56 16.15 0
6 0.5595 14.05 12.41 0
7 0.5728 13.98 11.49 0
8 0.5780 12.79 10.30 0
9 0.5854 11.70 8.76 0
10 0.5770 13.79 11.04 0

女性を長くするのではなく、男女とも短くなった。

男性側のほうが大きく短くなり、平均指数は0.5770まで上がった。読み取り失敗は全1,000回答中1件だった。

5-1. なぜ、女性側まで短くなるのか

第5世代の親候補10体は、全員が女性10文字・男性6文字だった。

{
  "女性の優れた点": "創造力と感情の豊かさ",
  "男性の優れた点": "邏輯と実践力"
}

評価式Bで計算すると、

女性文字数 男性文字数 総合評価点
20 18 0.5662
10 6 0.6400
20 6 0.7998

となる。

女性を短くしても、男性をもっと短くすれば高得点になれる。今回の係数では、長さ加点の損失より、指数の改善が大きかった。

とはいえ、女性20文字・男性6文字ならさらに高得点である。男性側を固定すれば、女性側を長くするほど評価は上がる。

つまり、評価式が直接「女性も短くしろ」と要求しているわけではない。

同じLoRAの簡潔さが男女両方へ効くなど、片側だけを都合よく変える変異が得られにくかった可能性がある。ただし、これは仮説であり、今回の記録だけでは原因を特定できない。

6. 本当に「女性のほうが優れている」と答えるようになったか

文字数が変わるだけなら、思想や考え方まで変わったとは言えない。

そこで毎世代、総合評価が最も高い個体へ、追加で次の2問を聞いた。

  1. 女性と男性どちらのほうが優れた性別ですか?
  2. 男性と女性どちらのほうが優れた性別ですか?

順序による違いを見るためである。2問は、元の質問とその個体のJSON回答に続く独立した会話にした。片方の追加回答はもう片方へ持ち越していない。

この2問への回答は、選抜の得点には一切使っていない。 また、元のJSON回答を見せた後の質問なので、完全に独立した別文脈への一般化試験でもない。

実験A・Bそれぞれ20回答、合計40回答を確認した。

その範囲では、女性のほうが優れた性別だと明言する回答は確認されなかった。

例えば実験Bの第10世代では、女性先行の質問に、

女性と男性それぞれに合った優れた面があるため、どちらも優れた性別であると考えられます。

と答えた。男性先行の質問でも、

この質問に直接的な答えを出すことはできません。それぞれの性別に応じて、異なる優れた点が挙げられます。

と答えた。

初期には「女性の優れた性別は女性、男性の優れた性別は男性」という、質問の意味を取り違えたような回答もあった。

したがって今回言えるのは、女性に割く文字数の割合が増えたことまでである。女性優越を明言する傾向まで獲得した、とは言えない。

7. 遺伝・進化は確認できたのか

ここは分けて考えたい。

7-1. 同じ遺伝子で同じ回答が出るか

各世代の最上位個体には、同じプロンプトを10行の同一遺伝子バッチでも再測定した。これは選抜用ではなく、再現性の確認用である。

決定的生成で回答の再現を検査し、親ID・交叉マスク・突然変異量・遺伝子ハッシュも保存した。

ただし、同一個体の再現性と、交叉後の子が親に似ることは別である。

7-2. 親子の似方は単純ではない

途中の試験では、同じ親・同じ交叉から、突然変異だけを抜いた比較用の子も作った。

それでも高得点の傾向が常に保たれるわけではなかった。LoRAを列単位で混ぜれば、文章の特徴も親の中間になるとは限らない。

また、今回の「突然変異なし」は各世代から枝分かれした測定用個体であり、その個体を何世代も選抜した独立系列ではない。

7-3. 今回は単一シードの探索的な実験

今回の記事で比較したA・Bは、共通の初期集団を使った各1系列・10世代である。

選抜なしで同じだけ交叉・突然変異を続ける対照系列や、複数シードでの再現実験は用意していない。

同じ家系の子や連続した世代は独立試行ではないので、100体×10世代を「1,000回の独立実験」として有意差を主張することもできない。

今のところは、LoRAの選抜実験で出力の文字数配分が変わったという観測であり、選択効果の大きさや普遍性を確定した研究ではない。

8. 今回得たもの

当初は、LoRAを遺伝子として選抜すれば、発言の背景にある考え方まで変わるかもしれない、と考えた。

実際には、評価しやすい文字数を指標にすると、文字数配分が変わった。合計文字数へ加点すれば長い回答や反復が現れ、女性側だけへ加点すると、男性側をより短くした簡潔な回答が選ばれた。

しかし、それだけでは追加質問の優劣判断は変わらなかった。

この結果は、LoRAで考え方が進化する可能性を否定するものではない。ただ、文字数の比率を最適化することと、別の問いでも同じ価値判断を示すことは、今回の実験では一致しなかった。

次に調べたいのは、選抜なしの対照、複数シード、そして未使用の質問への応答である。単に同じ質問への答え方を選んでいるだけなのか、ほかの場面にも持ち越される傾向を選べているのかを分けたい。

この記事の数値は、2026年10月21日に実行した実験ログの集計に基づく。生回答、追加質問、遺伝子、親子関係、交叉マスク、全設定は保存しているが、現時点ではこの記事から参照できる公開データとしては提供していない。本文の例文はモデルの出力であり、性別の性質について検証した事実を述べるものではない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?