スマホでLLM:エッジデバイスAIの現在地と未来

ローカルLLM

一般人に最も広く普及しているデバイスがスマートフォンだといえます。たいてい一人一台以上持っています。そんなエッジデバイスでLLMを動かせるようになったら?
性能はまだおぼつかないのですが、すでにスマホで動かすことを想定して作られたLLMが存在します。それらが発達したとき何ができるようになるか、そして何が依然として難しいのかをこれから説明します。

Gemma4-E2B、E4B

二つのモデルがあります。E2Bは5.1Bパラメータのうち2Bパラメータ分が推論につかわれます(E4Bでは8Bのうち4.5B)。5.1BパラメータをRAM上に置く必要があり、そのうち2Bパラメータ分の重みが推論時に使用されるということです。MoEモデルと同じ発想ですね。これによって、知識は5.1Bパラメータ分保持しつつ、2Bパラメータ分の計算資源の消費で動かせるようになります(LLMが持つ知識の量はおおむねモデルのパラメータ数によります)。

AndroidではEdge GalleryやPocketPalというアプリを使ってLLM(SLM, Large Language Modelに対比してSmall Language Model)を動かすことができます。Edge GalleryとGemma4 E系を使うことで、テキストに加えて画像、動画の入力にも対応します。

E2Bの4bit量子化モデルではRAMを3.2GB、E4Bの4bit量子化モデルでは5GB消費します。参考までに、私のスマホ(Xperia 1 iii。5年前くらいのフラグシップで、Antutuは80万くらいだった気がする)には12GBのRAMがあり、常時色々動いているためE2Bを載せるのが限界でした。たぶん推論速度的にもE2Bが限界です。スマホにNPUが搭載されていればもっとずっと快適であることでしょう。

エッジデバイスでLLMが動くと何が嬉しいか

ローカルLLMに備えろで言及したことと被りますが、あの記事はちょっと読みにくいのでここでもう一度整理します。

エコ!

同じモデルを使っていても、スマホとデスクトップでは推論時の消費電力が大きく変わってきます。スマホでLLM(SLM)を動かすことができれば、小さなタスクを小さな消費電力で解決できるようになり、大変エコです。

プライバシーが守られる

プロプライエタリな(≒クラウドの)LLMを利用するとき、予想以上に多くの情報を消費者は企業に対し渡しています。「安全のため、会話の内容を人間が確認することがあります」という注意書きを見たことがあるかもしれません。さらに「個人情報をLLMに見せないでください」と企業が自ら注意喚起しているのも見たことがあるかもしれません。つまりあなたの性的嗜好や恥ずかしいロールプレイなどを含めて、トレーニングに利用されるどころか人間に見られることだってあるのです。

エッジデバイスでLLMを動かすならそんなことは起こりません(Edge Galleryはわからない。怪しい)。あなたの入力した文章も、LLM(SLM)が出力した文章も、全てあなたのものです。

非検閲モデルが使える

どんなモデルを使うか、またどんな会話を行うかは全て使用者の管理下・責任下にあります。つまりプロプライエタリなLLMでは断られるような話題も、ローカルならモデルを選べば扱えるようになります。企業が決めた倫理観を押しつけられることなく、(将来的に)高度なインテリジェンスを手中に収められるのです。

通信を必要としない

オフラインでも使えます。現代でスマホがオフラインになることは珍しいかもしれませんが、たとえばClaudeを使おうとしたら頻繁にタイムアウトやtoo many requestsエラーが出て使えなかった、ということは頻繁に起こります(xAIがAnthropicにサーバーを貸し始めたのでマシになりましたが)。ローカルならそんな事態には見舞われず、言語モデルは常にあなたのそばにいます。

限界

限界もあります。SLMではどうしても解決できない問題があります。

SLMは持てる知識が少ない

持てる知識の量はパラメータ数に依存しますから、SLMの持つ知識量は少ないです。知識問題を出すと簡単にハルシネーションを起こします。これを補うには、大量の知識を収めたベクトルデータベースなんかを別で用意してSLMが適宜参照できるようにする必要があります(この発想をRAGといいます)。

これは言語に関する知識も同様で、マイナーな言語ほどSLMにとって扱いにくいものになります。学習データのうち日本語は英語よりも圧倒的に少ないですから、SLMは日本語を苦手としやすいです。

(相対的に)論理に弱い

ReasoningがLLMの回答精度を下げることがあるで紹介したように、言語モデルはパラメータ数が少ないほど間違った推論をしやすいです。高度な推論を必要とするタスクは依然として、大きなモデルほど得意です。

私の経験から言ってもこれは正しいです。小さいモデルほどプロンプトの誤読が多くなったり、ハルシネーションを起こしやすくなったりします。

詳しくはSmall Language Modelの限界をご覧ください。

(相対的に)長文読解力に欠ける

SLMは長文読解力に欠けます。LLMの長文読解に有利なのはRAGかコンテキストか?で言及したLost in the Middle問題がSLMでは顕著に現れます。これはプロンプトの中ほどに記された情報が無視されやすいという問題です。

(相対的に)指示追従性が悪い

現状ではまだtool callや正しいフォーマットでJSONファイルなどを出力する能力が低いです。tool callの前で頻繁に無限ループに陥りますし、JSONはよく崩れます。

これらの問題のうちどれが将来解決されるのか?

大規模なモデルに対しての相対的な弱さが覆ることはないと考えられます。しかし実際に重要なのはモデルの大小ではなく、それぞれのモデルで何ができ、我々が何を求めるのか、です。相対的に貧弱とはいえSLMの能力も目覚ましい進化を遂げています。たとえばそこそこの精度で論理的な文章が書けるなら、より大きなモデルの持つ圧倒的な論理思考力が常に必要になるわけではないでしょう。指示の追従性についても、今までに「追従できない」から「良くないが追従しようとする」に進化したように、モデルが新しくなるにつれて改善されていくでしょう。

本質的に解決が難しいのは、知識の少なさです。もしパラメータ数を増やさずに多くの知識を詰め込み続けられるとしたら、それは無限の圧縮率を持つ、情報の圧縮技術にほかなりません。そんなものは原理的にありえません。つまりパラメータ数あたりに詰め込める知識には限界があるのです。知識を外部から取り入れる技術としてのRAGもLCW(プロンプトに全ての知識を詰め込んでおくこと)も完璧ではありませんから、知識が少ないという問題が解決されるかどうかは現状ではわかりません。

コメント

タイトルとURLをコピーしました