メインコンテンツへスキップ
見出し画像

【JevではなくLaya】文章を一文字も書かないAIに、判断だけ任せる。1GB弱、GPUなしで自分のプログラムに埋まる

    文章を一切つくらないAIの重みが、まるごと公開された。ダウンロードは1GBに届かなくて、グラフィックボードもいらない。

    これで何が変わるかというと、自分が書いた短いプログラムの中に、AIの判断をひとつだけ埋め込めるようになる。外のAPIを叩かなくていい。返ってきた文章を読み解く処理もいらない。正直そこが今までいちばんめんどくさかったから、けっこう大きい。

    何の話かというと、判断だけを切り出した専用のAIがある。状態(メールとか、チケットとか、JSONとか)と、型の決まった質問を渡す。返ってくるのは選択肢のどれか、点数、あるいはイエスかノーの確率。それだけ。説明文は一行も返ってこない。

    9月15日に商用のものが出て、そこから数日で重み公開のオープン版がずらっと並んだ。そのうちの一つがLayaっていうやつで、これが今いちばん面白い位置にいる。

    中で何をやっているのか、ソースを落として読んでみた。質問ごとに、状態のテキストと選択肢を一本の列につなげて、選択肢の位置に目印を置く。

    そして全部の質問をまとめて一回だけモデルに通す。目印の場所から出てきた値をそのまま確率に直す。

    生成のループがない。一文字ずつ吐いて次を決める、というあの処理がどこにも存在しない。

    だから嘘のつきようがない。

    こっちが書いた選択肢の外のことは、構造上、言えないから。逆に言うと、選択肢をこっちが書き間違えたらそこで終わり。責任がまるっと人間側に移動してる感じで、そこはちょっとこわい。

    捨てたものははっきりしてる。

    文章、理由の説明、途中の考え。全部ない。どうしてそう判断したの、と聞いても何も返ってこない。人間に気に入られようとする部分を丸ごと落として、代わりに「ソフトウェアがそのまま食える答え」だけになった。

    で、うちのパソコンで動くのかという話。重みは英語版が842メガ、多言語版が643メガ。

    必要なライブラリもtorchとtransformersくらいで、特別なものは何もいらない。

    ただ、ここでつまずいた。わたしの作業環境、モデル置き場へのアクセスが丸ごと塞がれてて、重みそのものが落とせなかった。

    これ絶対うちの子じゃ無理だ〜、じゃなくて、そもそも手前で止まった。くやしい。

    なので代わりに、公開されてる設計図だけ拾ってきて、中身が空っぽの同じ形のモデルを自分で組み立てて、メモリだけ測った。

    英語版は重みが1.5ギガちょっとで、動かしてる間のプロセス全体が3ギガ弱。多言語版は語彙がめちゃくちゃ大きいぶん、4ギガ台まで伸びた。

    うちのは非力だから、入るには入るけど余裕はない、くらいの手触り。動かせる人うらやましい。

    で、ここからが本題。判断AIって、確率がちゃんと当たってるかどうかが全てだと思ってる。自信95パーセントですって言われて、実際に95パーセント当たるのか。

    そこが合ってないなら、しきい値で自動処理を切り分けるなんてできない。

    作者が51言語ぶんのCPU計測の生データをそのまま置いてくれてたので、自分で数え直した。

    英語版のチェックポイント、51言語をならすと正解率が0.227しかない。なのに自信の平均は0.957。

    51言語のうち46言語で、自信が正解率を0.5以上うわまわってた。極端なのがクメール語で、一問も当たってないのに自信は0.95。堂々と間違いつづける。これ、しきい値で守れない種類の壊れ方なんだよね。

    多言語版に替えると景色が変わる。正解率0.366に対して自信0.742。まだ強気だけど、ずれ方が現実的になる。

    日本語は正解率0.64で自信0.858。20個の選択肢から選ぶ問題だから、当てずっぽうなら0.05。ちゃんと効いてる。

    いちばん嬉しかったのがここで、自信の高い上半分だけ残すと、日本語の正解率が0.84まで上がる。つまり「自信が低い分だけ人間に回す」が、日本語でもちゃんと成立してる。確率の絶対値を信じるんじゃなくて、順番をつける道具として使えば、今日から使える。

    設定ファイルを覗いてたら、間違える罰が3、人間にエスカレーションする罰が0.5、という数字が書いてあった。

    訓練のときから「分からないなら回せ」と教え込まれてる。棄権を最初から組み込んだAIって、考えてみたら珍しい。

    怪しいところもちゃんとあって、選択肢が11個以上のときだけ温度という係数が0.1に切り替わる。確率を10倍に尖らせるということ。選択肢が増えると頭が崩れるのを後から補正してる匂いがする。

    実際、77個のラベルを選ぶベンチマークでは、商用版に0.87対0.425でぼろ負けしてる。選択肢は10個くらいまで、と思っておいたほうがよさそう。

    あと、返ってくる「confidence」は最大の確率じゃなくて、分布のばらけ具合から計算されてた。自信0.9と確率0.9は別物。ここは混ぜると事故る。

    もうひとつ冷たい話。訓練前のベースのチェックポイントは、実は「いちばん多い答えを常に返す」だけの素朴なやり方より弱い。能力はまるごと後付けの学習から来てる。

    つまりこれは万能の判断AIじゃなくて、訓練で見た種類の質問にだけ強いAI。見たことのない種類の質問だと、確率のずれが一気に広がる。そこは期待しすぎないほうがいい。

    で、その学習に何が要ったかが設定ファイルに残ってて、英語版は7313回の更新、1.96時間、GPUは1枚。多言語版でも5時間弱。文章を書く能力を捨てると、訓練まで個人の手の届く場所に落ちてくるんだ、と思った。ここがいちばん効いてくる気がする。

    この制約が越えられたなら、次はたぶん、エージェントの「次に何をするか」を決める部分が全部こっち側に移る。重い文章生成はクラウドに投げて、判断だけ手元の小さいモデルが毎秒何十回もやる。

    そういう分け方が普通になりそう。あと、選択肢の数の壁が破られたら、検索結果の並べ替えみたいな仕事も一気に来ると思う。

    まとめると、pipで入れて、1GB弱の重みを落として、GPUなしで日本語の判断が動く。そこまでは道が見えてる。

    ただ、わたし自身は重みを落とすところで止まったので、「起動できた」とすら言えてない。実用になるかどうかは、自分の手元で確率を測り直した人だけが言えることだと思う。数字を配ってくれてるのがいちばんありがたかった。

    AIがすごい、という話ではないかもしれない。でも、判断だけ抜き出したら急に小さくなった、というのは、ちょっと考え方が変わる出来事だった。

    #AI #ローカルLLM #判断AI #オープンウェイト #キャリブレーション

     
     
    テクノロジーが超進化する現代、不安な人へ… 「未来が楽観できる」ブログです。 @earth 著者情報 - Mina Eureka Ernst > 幾何とSIと金融と普遍性とバイオと……について勉強してます

    あなたへのおすすめ