Colabへようこそ｡
7週目2日目のコラボへようこそ｡
ベース・モデルを試す前に､ これらのトークナイザーが実際に動いているところを見てみよう｡
ええと､ いつものようにPipのインストールとインポートから始めよう｡
定数セクションで､ 4つの異なるトークナイザーを設定します｡
その後､ ベースモデルのラマを見て､ データを使っていくつかの作業をする｡
そして､ 過去に結果を視覚化したときに覚えているかもしれないが､ カラーで出力するための定数もここに用意した｡
よし､ 実行しよう｡
ハグフェイスにログインするには､ もうお馴染みのスニペットを使う｡
そして今､ 私はモデル名を受け取ってトークン化する調査という便利な関数を書いた｡
そして､ そのモデル名のトークナイザーをロードし､ 0､ 1､ 10､ 100､
999､ 1000の6つの数字を繰り返し処理する｡
それぞれの数字について､ それを文字列に変換し､ その文字列をトークンに変換するようトークナイザーに依頼する｡
では､ 文字列100をテキストとして表現するトークンとは何か？
ええと､ この特別なトークンを追加することをfalseパラメータとして使っているんだ｡
つまり､ 文頭トークンや文末トークンなど､ 邪魔になるようなものを追加しないでください､
ということです｡
このテキストを､ そのテキストを表すトークンに変換するだけだ｡
うーん､ だからそうなるんだ｡
そしてそれをプリントアウトする｡
そこで､ トークン・サイザーを調査するために､ トークン・サイザーを呼び出してみよう｡
まずはラマ・スリー・ワン・アーのモデルから始めよう｡
何が出てくるか見てみよう｡
つまり､ 得られるのは文字列ゼロである｡
テキストゼロはトークン番号15に変換されます｡
ひとつはトークン16へ｡
10はトークン番号605へ｡
たまたまだ｡
そして､ 同じようなことが109でも見られるだろう｡ 99 それぞれが1つのトークンにマッピングされている｡
1000でトークン2枚になる｡
実際､ これは100という数字のトークンに対応する｡
その後に数字のゼロとそのトークンが続いている｡
つまり､ あなたが想像している通り､ 100というテキストを表すトークンの後に0というテキストが続く｡
3桁のテキスト番号､ 3桁の数字に焦点を絞った場合､ どのような価格であっても常に1つのトークンに対応するという便利な特性がある｡
つまり､ ある商品の価格を予測しようとするモデルのタスクは､ 結局はただ1つのトークンを予測し､ そのトークンを正解にすれば､
その商品の正しい価格がわかるということになる｡
だから､ 本質的な性質ではないんだ｡
私たちは､ これらのモデルが一連のトークンを完璧に生成できることを要求しているわけではないが､ 問題を単純化して､
この1つのトークンを正しく生成することだけに絞るのは好都合だ｡
また､ K-125のような別のモデルでもこのように見える｡
そして今､ 私たちは違うものを見ている｡
一桁の0と1は1つのトークンに対応するが､ 10は2つのトークンに対応する｡
実際､ 1の後に0が続く100のトークンは100999であり､ おそらく999であり､ 1000は1000である｡
つまり､ 異なる特性があるのだ｡
そして､ 私がなぜラマ3・1が有利だと思うのか､ その理由が明確になればいいのだが......｡
ええと｡
ジェマ
ジェマに2つ､ 2つ｡
申し訳ない｡
あの､ ジェマ｡
クォンに似た物件が2つある｡
あー､ 興味深いことに､ あー､ 語彙が全然違うんだ｡
もっと大きな数字だが､ それも不思議ではない｡
同じ語彙でなければならない理由はない｡
ええと､ それで､ ええと｡
ええ､ 明らかに､ 3桁の数字1つに対して1つのトークンではありません｡
そしてファイ3も似たようなものだ｡
ええと､ 実はファイ3には別のバリエーションがあって､ ラマ3世と同じような素晴らしい特性を持つ小さなバリエーションがあるんだ｡
だから､ これも試してみる価値があるだろう｡
ええと､ どれでも試すことができますか？
決して複数のトークンを出すことが失格というわけではない｡
分かった｡
まあ､ いずれにせよ､ トークナイザーの背景と､ 私たちがなぜこのモデルを選んだのか､ その理由はご理解いただけたと思う｡
次のビデオでは､ データをロードしてモデルをテストしてみよう｡