登録すると、どこまで学んだかを覚えておきます。
さあ、あなただけの人工知能を作ってみましょう。
直前の単語だけを見る学習用バイグラム模型です。埋め込み・attention・事実を学習しません。単語分割も本番LLMのトークナイザーではなく教材です。
実際の開発につながる計画
最初はおもちゃのように小さく作り、原理を理解してから少しずつ大きくしていきます。
1
単語を集める
学びたいテーマの文章を集めます。最初は10文だけでも大丈夫です。
2
次の単語の回数を数える
ある単語の後にどの単語が何回出たかを表にまとめます。
3
確率スコアを計算する
文末も含めてつながりを数えます。候補の確率は、その回数を選んだ単語の後の総回数で割った値です。ニューラル言語モデルはこの小さな表を保存するだけでなく、重みを学習します。
4
二つの選択方法を比べる
最高確率を選ぶ貪欲法と、確率に従う抽選を比べましょう。文末を選ぶと止まります。抽選でも同じ結果は出ます。生成文の事実確認はしていません。
5
自分の基準で改善する
より良い文章、より多くのデータ、別の選択ルールを加えて、自分だけの人工知能に育てます。
小さな確率計算機
表は温度1の観測頻度です。温度は抽選確率を変えますが、学習回数や事実の正確さを変える道具ではありません。
生成された文 方法を選び「もう一度生成」を押します。
前の単語 鳥 次の単語 は 3 続いた回数 3 後に来た総回数 = 100% 確率
観測した単語トークン23個
| 前の単語 次の単語 | は | 飛 | び | ます | 歌 | い | 文末 |
|---|---|---|---|---|---|---|---|
| 鳥 | 3 | 0 | 0 | 0 | 0 | 0 | 0 |
| は | 0 | 1 | 0 | 0 | 2 | 0 | 0 |
| 飛 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| び | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| ます | 0 | 0 | 0 | 0 | 0 | 0 | 5 |
| 歌 | 0 | 0 | 0 | 0 | 0 | 2 | 0 |
| い | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
| 魚 | 2 | 0 | 0 | 0 | 0 | 0 | 0 |
単語が多いため、最初の8個だけ表示します
核心となる概念
文末も含めてつながりを数えます。候補の確率は、その回数を選んだ単語の後の総回数で割った値です。ニューラル言語モデルはこの小さな表を保存するだけでなく、重みを学習します。
ニューラル言語モデルは学習例から数値の重みを学びます。生成時には重みと文脈から候補トークンのスコアを計算します。保存されたネットの文を取り出すだけでも、直前の単語だけを数える方法でもありません。
この実習と実際の言語モデルの比較
| この実習(バイグラム) | ニューラル言語モデル | |
|---|---|---|
| 見る範囲 | 直前の単語一つだけ | 与えられた長い文脈 |
| 学ぶもの | 続いた回数の表 | 数値の重み |
| 埋め込み・attention | いいえ | はい |
| 自分で事実を確認 | いいえ | いいえ |
ラリアに任せる開発リクエスト
ラリアに送り、教材用バイグラムをコードにする方法を話し合いましょう。小さな学習模型で、完全な現代の言語モデルではありません。
この学習用バイグラムを理解するのを手伝って。学習文:鳥は飛びます。鳥は歌います。鳥は歌います。魚は泳ぎます。魚は泳ぎます。。開始:。計算を見せる前に次の単語の確率を予想させて。ニューラル言語モデルとの違いも説明して。