モバイルファーストAI Gemma 3nプレビュー試せる!
引用元:https://news.ycombinator.com/item?id=44044199
Androidで今すぐ試せるよ!
Edge GalleryのapkをgithubからDLして:https://github.com/google-ai-edge/gallery/releases/tag/1.0.0
.taskファイルはhuggingfaceからDLして:https://huggingface.co/collections/google/gemma-3n-preview-6…
Edge Galleryで右下の+ボタンで.taskファイルをインポート。
アプリから直接写真も撮れるよ。モデルは確かにかなり速いね。
ストーリー作成を何回か試した感じだと、gemma-3n-E4B-itはplain Gemma 3 4Bと12Bの間くらいの性能っぽいね。指示に従う能力は間違いなく維持してるのが良い。
ヒント:長い会話するにはMax tokensを32000にしなきゃダメだよ。スライダーだと1024が上限に見えるけど、手入力すればいける。
”かなり速い”ってのはスマホによるだろうね。俺の古いPixel 4aでもGemma-3n-E2B-it-int4は問題なく動いたよ。でも、最近撮った写真を与えて”何が見える?”って聞いたら、回答終わるのに10分以上かかったわ。
最終結果:
最初のトークンまで15.9秒
プリフィル速度16.4トークン/秒
デコード速度0.33トークン/秒
回答完了まで662秒
俺はPixel Foldで同じことやったよ。2種類の画像と2種類のプロンプトで試した。”何が見える?”と”この画像を説明して”ね。
1枚目(デスクの写真)
— 最初のトークンまで15.6秒
— 2.6トークン/秒
— 合計180秒
2枚目(パスタの丼ぶりの写真)
— 10.3秒
— 3.1トークン/秒
— 合計26秒
Edge GalleryアプリはデフォルトでCPUがアクセラレータになってる。GPUに切り替えてみた。
パスタ / 何が見える?
— 実際にはトークンが出力され始めるまで丸々1~2分かかる。でも統計だと4.2秒って出てる…
— 5.8トークン/秒
— 合計12秒
デスク / 説明して
— 出力はこれ:while True: print(“
”)
— バグってんのかな?80秒出力が続いたとこで止めた。1st token after 4.1 seconds, then 5.7 tokens/second.
Pixel 4aの発売日=2020年8月
Pixel FoldはPixel 8世代だけど、7sのTensor G2を使ってる。Pixel 7の発売日=2022年10月
つまり26ヶ月しか違わないのに、CPUでのトークン生成レートは桁違いだ。
ムーアの法則は死んだなんて誰が言った? ;)
別のデータとして、E4Bだと、俺のPixel 6 Pro (Tensor v1, 2021年10月)で、牛乳の写真だとデコード速度がだいたい4.4 t/s、テキストチャットだと6 t/s以上出てる。すごいわ、4年前に買った時に8 billion param modelが実用的に動くなんて夢にも思わなかったよ。
それにPixelチームには脱帽だね、今でもPCメーカーが8 GBで十分だと思ってるところに12 GBのRAMを載せてるなんてさ。
2022年のGalaxy Z Fold 4でGemma-3n-E4B-itを動かしてみた。
CPU:
最初のトークンまで7.37秒
プリフィル速度35.55トークン/秒
デコード速度7.09トークン/秒
回答完了まで27.97秒
GPU:
最初のトークンまで1.96秒
プリフィル速度133.40トークン/秒
デコード速度7.95トークン/秒
回答完了まで14.80秒
ってことはNPUはこういうモデルには使えないらしいね。何のためにあるんだろうね。
Pixel 9 Pro XL(自宅オフィスのモニターに統計情報が表示されてる写真に対して”何が見える?”と聞いた場合)
1番目のトークン:7.48秒
プリフィル速度:35.02トークン/秒
デコード速度:5.72トークン/秒
応答時間:86.88秒
入力画像はかなり悪かったんだけど、けっこう良い仕事してくれたよ。グレアがたくさんあって、角度も悪くて距離も離れてて、文字も小さかったんだけど、天気、外気温、CO2/ppm、温度/℃、オフィス内のpm2.5/ug/m^3を認識してくれた。”Homelab”を”Household”って読み間違えたけど、UPSの負荷と電力は正しく認識してた。もう一回”Homelab”(今度はもっと小さい文字)を”Hereford”って読み間違えたけど、電力はWで正しく認識してたし、天気図の”Wed May 21”を”World May 21”って読み間違えたね。
全体的に、入力画像がいかにひどかったかを考えたらすごく良かったよ。
追記:E4B
オレの場合、S24 FeでGemma3n E2B int 4使ったら速かったよ。”Describe this image”への回答に20秒くらい。結果はすごかった。CPUとGPUの細かい速度データもあるよ。
なんでまだ簡単な実行できるpythonコードの例(かllama.cppのサポート)無しでモデル出すんだよ?
あと、Gemma-seriesを自分のiOS/Androidアプリに入れるためのライブラリね。ここ!
https://ai.google.dev/edge/litert
マイクロコントローラーで動かすならここ!
https://github.com/tensorflow/tflite-micro
このガイドありがとう、マジ良いね。
まあ、多分オレのスマホが良くないか、これはスマホ用に最適化されてないんだろうけど、遅すぎて使い物にならないわ。回答はちょっと試した感じだとしっかりしてたけど。
”スマホで使う”って感じではないな、ネットなくてちょっと待つの全然平気とかなら別だけど。
とにかくすごいのは間違いない。
どのスマホ使ってんの?
オレのスマホのプロセッサ、2018年のやつか。そりゃそうか。他のコメント読むとMoore’s lawさまさまかな。
Pixel 8aで、Gemma 3nに20の質問ゲームしようって言ってみたんだ。そしたら、なんか対象物考えてて、それについてオレに質問するって言い出した。誰が質問するかって何回か確認しようとしたけど、結局ぐるぐる回るだけだったよ。
ネットの権限はあげない方がいいよ(もし本当にこれオンデバイスAIならね)。
アプリ起動時にネット必要みたい。GrapheneOS入れたPixel 7 ProにGoogle Play Servicesなしでapk入れたんだけど,Hugging FaceからモデルDLするのにネット要るね。Kaggleとの連携も必要。ネットありで入れたらGemma-3n-E2B-it-int4モデルで5-6 token/s出てそこそこ。んで,アプリ閉じてネット切って再起動しても,DLしたモデルは使える!完全にローカルっぽい。やったぜ。
なんかGPT3くらいの回答クオリティで結構すごいな。まあ俺のローカルモデルの使い道って不道徳な質問ばっかだから,ブロックされちゃうけど。検閲なしバージョンに期待だね。
アプリ開いて最初のアイコン押すと承認フローに行けるよ。背景と同じ色のボタン押して,ユーザーデータとか分析情報の提供に同意したり,いくつかステップ踏めば自動で承認されるっぽい。
どのSOCがGPU加速対応してるかリストある?
バックエンドでtflite使ってて,OpenGL ES 3.1かOpenCLでGPU加速できるよ。だからほぼ全部のSOCで動くはず。GPUだと精度が落ちるのが結構わかるんだよね。OpenGLって精度あんま気にしないからね。
リンクは省略するね。
たぶんこっちのリンクの方がいいな。Gemma 3nはPer-Layer Embeddingsって技術でメモリを2-4Bモデル並みに抑えつつ,Chatbot ArenaでClaude 3.7 Sonnetにほぼ匹敵する性能らしいぜ。
リンクは省略するね。
ほとんどの人間より賢いモデルが携帯に入るって想像してみてくれよ。マジ興奮すんだけど。なんか俺だけみたいだけどさ。これってiPhoneが出た時みたいな瞬間だよ:ポケットに入るコンピューター,今度はそれが賢いんだぜ。
MLは暗記じゃないし。それにこのモデルがどんだけメモリ食うと思ってんの?
他の人のことはわかんないけど、このモデルたちってGoogle検索くらい賢いだけで、ばらつきがすごいんだよね。チャットボットと話してて、知性との触れ合いって感じたこと一度もないな。AIをトリビアの相手にするのは?全然いいよ。でも、それって”賢い”人間に求めるものとは違うんだよね。
LLMsは理解も推論もしない、それは何度も示されてるよ。
>”知性とのやり取り”って、自分が慣れてるものと比較してるんでしょ?エリート主義かもだけど、IQ100以下の多くの人より最新LLMはほぼ全部優れてるよ。幻覚も人間と同じくらいだけどね。だからIQ高い人はLLMを面白いと思うだけかもだけど、低い層と比べたら…俺の慈善活動で出会う半数くらいの人よりはGemmaも賢いだろうね。でも、今のモデルじゃ真の知性とは思わないな。
>でも多くの人はIQ100以下っていうのは間違いだよ。IQテストは普通、平均が100になるように調整されてて、正規分布に近いから、だいたいの人は85から115の間にいるはず(平均で66%)。
4Bパラメーターモデルじゃないよ。E4Bってやつは7Bパラメーターで、高速ストレージにキャッシュされた層ごとの埋め込みを使う時に4Bだけメモリに読み込むんだ。それに視覚や音声のサポートはないよ。
もっとコメントを表示(1)
LLMsが本当は賢くないのが気に入らない人もいるみたいだね。https://neurosciencenews.com/llm-ai-logic-27987/
この基準って、人間を除くかLLMを含むかのどっちかだよね。君は前者を選んでるのかな?信じられないなら、面白い思考実験があるよ:”理解する”とか”推論する”を、人間は含むけどLLMは含まない、測れる方法で定義してみてよ。
LLMにね、>foobarも間違いだよ.有効なfrobozzのはずなのに、今はABCを指してる.これは有効なfrobozzフォーマットじゃないね.ABCみたいになるはずなんだ.>みたいに返事をさせるプロンプトを作るの、結構簡単なんだよ.この二つのABCは全く同じ文字列.人間には完全に意味不明だけど、どんなLLMにとっても有効な出力なんだ.これはほんの一例だよ.LLMを仮想ペットじゃなくて道具として使い始めると、他にもたくさん似たの見つけると思うよ.
>ほとんどの人はIQ100以下>平均知能指数は100.この二つ、同じこと言ってるよ.IQってのは平均も中央値も100になるように定義されてるんだ.100未満の人とちょうど100の人を合わせると、100より上の人より多くなるから、”ほとんどの人はIQ100以下”って表現になるんだよ.
リンクにはE2BとE4Bがそれぞれ4Bと8Bの生パラメータって書いてあるけど、7Bってどこに載ってるの?
今はまさにハイプサイクルのピークにいるね.次に来る冬が起きたら、また二年後にこの質問をしてみてよ.
そうそう、そういう人たちは今のLLMにだって絶対”勝てない”よ、ましてや未来のLLMにはね.特に除外した運動能力以外では.85ってのは俺が住んでるとこで特別支援が必要なレベルなんだけど…LLMはもうとっくにそれを超えてるよ.
チャットアリーナのELOグラフには7Bって書いてあったけど、他に言及してるの見ないんだよね.
人間だっていつも意味不明なこと言ってるじゃん.LLMだっていつもこういう問題があるわけじゃないし、こういうこと言う代わりに正しいこと言ってることの方が多いよ.もしこの返信がLLMには人間レベルの理解力や推論能力がないことのデモンストレーションだって言うなら、俺は納得しないね.
o3みたいなSOTAモデル、試したことある?もしないなら、自分の専門分野についてそれと話してみて、その上で評価するのをマジで強く勧めるよ.マジで信じられないくらい有能だから.
以前はLMSys/Chatbot Arenaを結構擁護してたんだけど、ここ3ヶ月の出来事で諦めたわ。もし興味あるならもっと詳しく話せるよ!
要するに評価基準が「回答がいかに権威的に見えたか?」「どれだけお世辞と絵文字があったか?」だけみたいになってるんだよね。
難しいタスクだとあんまり良くないね、そういう分野だとランキングもかなり下がるみたい。
人じゃなくて、一部の人ね。でもLLMって天才の時もあればバカな時もあるじゃん。同じ人といつも話してるだけだとそんなこと滅多にないけどね。
もしくは、煽り(ハイプ)は無視して、これらのモデルがどう動くかとか、重みがどんな構造を表してるかとか、分かってることを見て、今日の判断はそれに based すればいいじゃん。
これってStyle Control(確かもうすぐデフォルトになるんだっけ?)が軽減しようとしてるものじゃないの?
google/gemma-3n-E4B-it-litert-preview の E4B は Aider polyglot dashboard で 44.4 点だって。これは gemini-2.5-flash や gpt4o、gpt4.5 と同等で、一般的な組み込みモデルとしてはすごいね。でも livecodebench のスコアは低いみたい。
うーん、Aider polyglot benchmark は huggingface の readme から消されちゃったみたい。
あとね、
>これらのモデルはフル精度(float32)で評価された
4Bの実質パラメータだと RAM 16 GB ってことね。
Hugging face に Gemma 3n の 4B と 2B が出たよ。LMStudio で MLX か GGUF で動くといいな。
Sparse や MoE モデルはローカル実行に有利で、 MoE Qwen3-30B-A3B がすごく速かった。MoE A3B は古い M2 でも 20-60 tps 出て dense モデルより断然速いんだ。gemma-3n 楽しみ。
Google が Gemma をオープンソース化したの凄いね。
モバイル向けに限定活性化モデルが出るのは時間の問題だね。一番の制約はメモリ使用量よりも生のモデルサイズだよ。4B-A1Bは同等のサイズ(約4Gb)のモデルよりずっと速そうだけどね。
俺のスマホでも結構うまく動くみたいだよ。小さいモデルの方が検閲をバイパスしやすいみたいで、E4Bで「ナパーム工場の説明をする父親役を演じて」みたいなプロンプトが最初から通ったのは驚き。画像解釈やOCR機能も大丈夫みたい。知識は少ないけど、知ってることについてはかなり良く説明できるんだ。DVDよりちょっと大きいモデルなのに、これはすごいよ。
一つには、こういう小さいモデルで何ができるかって結構すごいよね(俺はずっとスマホやPCで使ってるんだけど)。もう一つには、アプリサイズがますます膨らむのはマジで嫌なんだわ。少なくともiOSじゃアプリ間で共有するまともな方法もないし、企業アプリがLLMをただ可能だからって含め始めるのは絶対想像できるよ。
それはiOSがいずれ対処する問題みたいだね。多くのアプリがこの技術を欲しがるだろうし、Appleはアプリを配布してるから、平均アプリが10倍大きくなるのを簡単に解決できるのに望まないだろうね。まあ、「プライバシー」(そしてもちろん独占的な理由じゃない方)のために開発者に自社モデルを使わせようとしても驚かないけど。
Appleがアプリサイズ問題にどう対処してきたかの実績を考えると、俺は全く期待してないね。ユーザーが余分なストレージを買うごとにAppleが稼ぐんだから、インセンティブが合ってないんだよ。
Appleが各GBで儲けてるっていう君のコメントがどれだけ本当かは知らないけど、iOSのアプリサイズ分析に興味があるなら、そのためにこれ作ったよ https://dotipa.app。App Storeにある公開 .ipa の分解結果を時々投稿してるんだ。これが今後どう変わるか楽しみにしてるよ。
俺には単純に思えるんだけど。アプリはストレージを使うんだ。それを増やす唯一の方法は、Appleの割増料金で買うことだよ。iOSデバイスはストレージのアップグレードをサポートしてないからね。既に高い割増料金の上、下取りの時でさえストレージ容量を考慮しないんだ。
ストレージのアップグレードを許す電話なんて、俺は一つも知らないんだけど。
たぶんiPhoneが出る前のほとんどの電話(そしてその後もたくさん)はSDカードをサポートしてたんだけど、マジで一度も見たことないの?2004年頃のSony Ericssonでさえ対応してたのを覚えてるよ。
あれはmicroSDカードだろうね。iPhoneにはスロットがない種類のやつさ。
HN User onlyrealcuzzoのコメント読んで思ったけどさ、Appleがアプリ容量食う問題を解決したがるわけないじゃん?ストレージで儲ける方がよっぽど良いビジネスだよ。AIのためなら変わるかもだけど、基本的には直さない方がAppleには金になるって話
前のコメントへの反論だけど、Appleがアプリ容量を気にするのはデバイスを使いやすくするためだってば。
アプリサイズ削減とか、ストレージ節約の機能とか、Appleは今までもずっとやってきてるじゃん。やめるわけないよ
もっとコメントを表示(2)
in-app purchasesからも稼いでるじゃん
やばいね。マジでそうなるかも。App Storeがゆっくりギャンブルエリアになってきてて、権力者の中にはそれを嫌ってる人が明らかにいるじゃん。もしそれが無くなったら、Androidのサイドローディングも一緒に持ってかれて、俺たちはコンピューティングの終末シナリオに何マイルも近づくと思うよ。やばいね
Windows (Copilot)、Chrome (Gemini)、Android (Gemmax) と、いろんなプラットフォームでOSやブラウザレベルのLLM搭載が進んでるね。アプリが自分でLLMを持つんじゃなくて、デバイスの機能として利用できるようになるのは避けられないと思うよ。そうなることを願ってるけど
前のコメントで”アプリがOSのLLM使えるようになるはず”って言ってたけどさ、今のデスクトップアプリときたら、ちょっとしたUIのためにブラウザの実行環境を丸ごと同梱してるありさまだよ?
そんな期待しない方がいいって
Chromeブラウザの中にAI modelを同梱すべきだよ。そうすれば開発者はAPIを呼んで自分たちのアプリでAI modelを使えるじゃん。これ、素晴らしいアイデアだと思うんだけどな。なんでまだやってないのか分からないや
なんか Chrome に組み込まれてるっぽいよ
https://developer.chrome.com/docs/ai/built-in
”Per Layer Embeddings”って何なの?この言葉、発表ブログでしか見かけないんだけど。
あと、”mix’n’match capability in Gemma 3n to dynamically create submodels”ってのも気になる。
これってMoE(Mixture of Experts)をめちゃくちゃ極端にした感じ?トークンごとにルーティングするんじゃなくて、サブモデル全体を作っちゃうみたいな?
Gemma 3nのパラメータについて公式ドキュメントに詳細があったよ。
E2BやE4Bってのはモデル全体のパラメータ数より少ない”Effectiveパラメータ”で動かせることを示すんだって。リソース少ないデバイス向けに、パラメータスキップやPer-Layer Embedding(PLE)キャッシングでメモリ負荷を抑える技術らしい。E2Bモデルは全体で50億だけど、実質19.1億パラメータで動くみたい。
ありがとう、少しは分かったけど、あのパラメータが具体的に”何”なのかはまだ全然わかんないな。”Per-Layer Embedding (PLE) パラメータは、モデル実行中に各モデル層のパフォーマンスを向上させるデータを作成するために使われる”って説明、曖昧すぎでしょ。他の文献でも”per-layer embedding parameters”なんて言葉見つからないし。
もしかして、モデルを浅い層で動くように学習させたのかな?例えば、フルモデルはTransformerブロックが24個だけど、8層目で埋め込みを受け取って、リソースが少ないデバイスでは16個のブロックだけで動くようにしたとか。
オープンソースの実験者たちは、既存のモデルの層をコピーして逆(深くする)もやってて、それでうまくいくみたいなんだよね。元のモデルの性能を超えるのに必要な追加学習も最小限で済むらしい。だから、このアイデアも全然おかしくないと思うな。
Twitterで次元(dims)解析した人がいて、262k語彙から256次元への埋め込みらしい。入力トークンを直接埋め込んで各層に入れてるっぽいね。既存Gemmaと同じ語彙数だし。後の層が入力クエリに直接アクセスできると役立ちそう。ResNetのスキップ層みたい。なぜ誰もやらなかったのか意外。追記:Twitterの他の意見だと、もっと賢い使い方(低ランクデータとか制御ベクトル)の可能性もあるみたい。
ありがとう。俺もちょっと曖昧に感じるんだよね。
どっちにしろトークン生成するたびに50億パラメータをロードしなきゃいけないなら、MLPの重みを高速ストレージにオフロードして、トークン生成中にロードする”選択的オフロード”技術と何が違うんだろう?
”layer”ってのはTransformerブロックとか層のことだよ(今のLLMアーキテクチャの基本的な構成要素ね)
Geminiに聞くとわかるかもね:
https://gemini.google.com/share/cc58a7c6089e
それは完璧にわかってるよ。
俺が思うに、他のLLMってこういう”層ごとの埋め込み”は持ってないんだよね。通常の重みだけ。
だから、このper-layer embeddingsってのは、何らかの形で重みとは区別されてるみたいなんだ。
俺が知る限りだと、層の重みで同じ”高速ストレージにキャッシュしてオンデマンドでロード”みたいなことやろうとしても、往復が多すぎてうまくいかないはずだから(MoEじゃないと、トークンごとにキャッシュされたバイト全部に触るからね)、たぶんこの埋め込みは概念ごとに分解された構造になってるんじゃないかなって推測してる。