14GBでローカル動作? 開発者注目のAIモデルDevstral
引用元:https://news.ycombinator.com/item?id=44051733
最近はまずOllamaでのファイルサイズを見るんだよね。Devstralは14GBだってさ(https://ollama.com/library/devstral/tags)。俺のM2 Macだと、これがモデルに必要なメモリのだいたいの目安になる(だいたいプラス10%くらい)。他のアプリ動かすのにどれくらいメモリが残るかが大事だからね。20GB以下なら他の作業の邪魔になりにくいかな。このモデルは期待できそう!
ローカルモデルでちゃんと動く、エージェント系の開発ソフトでおすすめない?
Cursor使ってるけど、なんかイマイチなんだよね。エディタとChatGPTを行ったり来たりする方が良い結果出るし。
localforgeとかaiderも試したけど、ローカルモデルだとちょっと遅いんだよなー。
今日Devstralをclineとopen handsで使ってみたよ。両方ともバッチリ動いた。
俺のm4 maxだと最初のプロンプト処理に1分くらいかかったな。
LM studioを使ったのはね、ollama APIがcontextを128kにするとおかしくなるからなんだ。
最初のプロンプト処理に1分もかかるのに、何で「バッチリ」なの?
ハハ、バッチリっていうのはね、今までローカルでは無理だった単純なことが、驚くほどちゃんとできたって意味だよ。
最初のトークンが出るのに1分かかるのはマジで萎えるけどね。帯域幅が今の3〜4倍になる日が待ちきれないよ。
その時間はあくまで最初のプロンプトだけだよ。モデルの起動時間みたいなもんだね。
一回読み込まれちゃえば、その後の応答はめちゃくちゃ速くなるよ。
もちろん、使ってるハードウェアにもよるけどさ。
mlxとか、Simon Wilsonさんのllmは試してみた?
(URL:
https://llm.datasette.io/en/stable/
https://simonwillison.net/tags/llm/)
LM studioではmlxを使ってるよ。
VS Codeのcopilotでollama使えるらしいよ。
俺はまだ試してないんだけど、Devstralでどう動くか興味あるなー。
Zed使ってみてるんだけど、ローカルもクラウドモデルもサポートしてるし、めっちゃ速いしUIもいい感じだよ。VSCodeとかCursorみたいな深い機能はちょっと足りないけど、かなりイケてると思う。
他にモデルのインターフェースある?どれくらいのtokens/sec出てるの?aiderをgeminiにつないで速さ試してみたらどうかな。localllama界隈の人たちはTPSについて話したがらないなって気づいたんだよね。
ollamaから直接モデルとやり取りする時は結構キビキビ動く感じだけど、TPSはよく分からないな。でも、2つほど困ったことがあるんだ。(1)ほとんどのモデルがツールをサポートしてないこと。ちゃんとツール使えるバージョンのモデルを見つけるのが大変なんだよね。(2)TPSが良くても、エージェントがChain-of-Thoughtとかで複数のプロンプトを繋げて動かすから、体験としては遅く感じるんだ。これってCursorで彼らのモデルとかAPI使っても同じなんだよね。
みんな色んなハードウェア使ってるから、ハードウェアの詳しいスペックなしにTPSだけ言われても意味ないよ。GPUだけじゃなくて、CPU、メモリ速度、メモリチャンネル、PCIe速度、推論ソフト、部分的なCPUオフロード? RPC? OSまで、全部影響するんだ。だから誰かが特定のモデルのTPSを言っても、その人の全体構成が分からないと意味ないんだよ。
ra-aidっていうのがOllamaと結構うまく動くよ(Devstralではまだ試してないけどね)。
https://docs.ra-aid.ai/configuration/ollama/
16GBのMBPだと動かせなかったんだ(試したんだけど、フリーズしちゃって、多分スワップしまくりだった)。32GB必要って言われてるね。
24GBのM2 Airで動かせたよ。起動はすごく遅かったけど、10分はかからなかったかな。その後は応答はそこそこ速かったよ。
追記:その時、他の色々なアプリを開いてたんだ。Mail、Safari、Messagesとかね。何も開いてなければ起動はもっと速いと思うけど、32GB未満でも動かせるってことだね。
うん、同意するよ。ちょうどモデルをローカルで動かしてみたんだけど、良い感じだよ。ruby/rspecのちょっとした引っかかりそうな部分で試したんだけど、うまく処理してくれた。aiderでも大きなコンテキストをテストしてみるつもりだよ。
ollamaで大きなコンテキストをどう設定するの?どの設定を使えばいいの?良いガイドがまだ見つからないんだよね。モデルごとにどんな設定にすればいいのか、どう見極めればいいのかも全然分からないんだ。コンテキスト長があるけど、それって入力長とか出力長とどう関係するの?単純に数字を合わせればいいの?32kは32k?何かヒントないかな?
aiderとollamaについてはここを見てみて:
https://aider.chat/docs/llms/ollama.html
ollamaだけならここ:
https://github.com/ollama/ollama/blob/main/docs/faq.md#how-c…
僕はllama.cppを使ってるから、これらの方法は確認できないけどね。
aiderと一緒に使ってる? どんな感じ?
Ollama、俺は手動でコンテキスト増やしてもリセットされたり、すぐメモリから消えたりしてダメなんだよ。MacのLM studioとMLXだと問題ないのに。長い処理とかカスタムコンテキストだとバグが多いみたいで驚き。
Ollamaのモデルライブラリにあるほとんどのモデルは20GB以下のバージョンがあるよ。それが4ビット量子化なのか、もっと細かいのかはモデルによるけどね。俺が見る限り、デフォルトタグは大体15GBくらいのバージョンになってると思う。
SWE-Benchのスコア、このサイズのオープンソースモデルにしてはめちゃくちゃ高いね。46.8%って o3-mini とか Claude 3.6 よりも良いし、Anthropicの独自 scaffold を使った Claude 3.6 よりちょっと低いだけ。ほとんどタダで動かせるのを考えたら、これは本当にすごいモデルだよ。
すごい…のか、それともベンチマークがちゃんと機能してないんじゃ?って疑っちゃうレベル。
全然Mistralを検討してなかったんだけど、オープンソースへのこの姿勢はすごいね。ちょっと試してみるしかないわ。
Mistralは昔からオープンなウェイトのモデル出してるけどね…
でも同時に Codestral のウェイトは公開してないんだよね…
SWE bench liteのことを言ってるんだよ。君もそうだよね?確認したいだけ。
そのアイデアどこから来たの?記事ではSWEBench-Verifiedについて繰り返し言及してて、他には触れてないよ。
もっとコメントを表示(1)
いや、僕が言ってるのはClaude 3.5 Sonnet Newだよ.2024年10月22日リリースで、モデルIDはclaude-3-5-sonnet-20241022ね.Anthropicの名前の付け方が紛らわしいから、俗にはClaude 3.6 Sonnetって呼ばれてるやつ.
しかも、すごく良いLLMだよ.Sonnet 3.7になっても全然改善してないって文句言ってる人もいるけどね.
AWS BedrockとかGCP Vertex AIだと、Claude 3.5 Sonnet V2って呼ばれてるやつね.
だからAnthropicは次のリリースを3.7 Sonnetにしたんだよ.コミュニティの一部ではもう3.5v2のことを3.6って呼んでたからね.
Anthropicは3.5→3.5(new)→3.7と来て、コミュニティで3.6と呼ばれてたからスキップしたのかもね.3.5(new)/3.6は3.5.1とも呼ばれるよ.紛らわしいのは、3.5が旧版か新版か不明なことが多いこと.最近の3.5は大体3.6/3.5.1/3.5(new)を指してて混乱するね.
それは違うよ.俺はいつもv3.6って呼んでたし、そうしてる人たくさん見たことあるよ.だから彼らの次のモデルはv3.7って名前になったんだ.
昔のClaude 3.6 Sonnetのこと?
Mistralがまたちゃんとしたオープンソースモデル出してくれて嬉しいね。Mistralの最近のモデルマジやばいよ。Le Chat Proお金払って使ってるけど、マジ良い。Mistral Smallも超使える。あとMistral連携でスタートアップ作ってるし。
Mistral Small 3.1もApacheライセンスだよ。
Apache 2.0ライセンスなのがすごくいいね、つまり分かりやすいライセンスってこと。たくさんの条件がある”open weight”ライセンスと違ってさ。
倫理より法的なリスクが重要だと思う。もしモデルをファインチューニングしたら、派生モデル全部同じライセンスになるはず。Gが禁止事項ポリシーを変えたり、利用規約にヤバいこと追加したりしたら、アプリが使えなくなる可能性もあるんじゃないかな。あくまで俺の理解だけどね。(弁護士じゃないよ)。
モデルのプロテクションとか剥がすの結構簡単だし、そもそも非倫理的なことやってる奴はライセンスなんて気にしてないと思うけどね。
何を言いたいのかよくわかんないんだけど…Devstral使うのはヤバい開発者だけ、とか言いたいの?
今日知ったんだけど、オープンソースって非倫理的な目的でしか使われないらしいね。
MistralとGemmaの倫理って何が違うの?
Gemmaのオープンモデルはライセンスが厳しいけど、Mistralのオープンモデルはそうじゃない、って言いたかったんだと思うよ。
倫理的かどうかじゃなくて、君のスタートアップにとってのリスクの話だよ。倫理なんてめちゃくちゃ主観的だし、政治で変わることも多いしね。Apacheならモデルは完全に君のものってこと。
”倫理は政治次第で全部主観”?それは絶対違うってば。倫理には確かにニュアンスとか主観的な部分もあるけど、完全に政治次第で全部主観ってわけじゃないよ。そんな言い方してると、AI搭載の武装ドローン作ってるスタートアップで働いてて、「えー、倫理は主観っすから、問題ないっす」とか言ってそうに聞こえるんだけど。
>「倫理は政治次第で全部主観ってわけじゃない」?いや、倫理は完全に主観だよ。「すべき」を正当化するには別の「すべき」が必要だからね。倫理について合意を得るプロセスこそが政治だよ。
> AIドローン作ってて…に聞こえる?倫理が主観的だと理解してるからって、倫理観がないわけじゃない。倫理の根本的な性質を理解してるだけだよ。
>「倫理は完全に主観」?それは絶対違うだろ。奴隷を持つこととか、子供を殺すことは倫理的か?いや、客観的に見て違うだろ。
君、道徳(morals)と倫理(ethics)を混同してるよ。倫理は客観的な分析フレームワーク。道徳が主観的なんだ。君が挙げた例が客観的に「イエス」と評価される倫理フレームワークなんてたくさんあるんだよ。
> AIドローン作ってて…に聞こえる?人を殺すのはいつも間違いか?イエスなら、自分を守るのも間違い?これが主観的って意味だよ。GoogleはUS法に従うから、US政府が急にウクライナ支援は間違いと決めたら、個人的に正しくても問題になるんだ。
24GB RAMない人向け。俺は8GB RAMでollamaで動かしてるけど、簡単なタスクはOK。長いコンテキストはAPIがいいかも。
APIより遅いけど、モデルサイズにしては性能いいね。ベンチマークに合わせて調整してそうだけど、使えるかの目安にはなるよ。
24GB RAMのビデオカード持ってない人でも、俺は8GB RAMので動かせてるよ
何使ってんの? llama.cppとか? 12GB card (rtx 4070)のカードあるから試してみたいんだよね。
https://ollama.com/library/devstral
https://ollama.com/
たぶんそれってllama.cppをHTTPとかterminal wrapperにしたやつで、ちょっとmodifications/forkされてるだけだと思うよ。
ollamaってcpu offloadingに対応してる?
https://www.reddit.com/r/ollama/comments/1df757o/high_cost_o…
https://github.com/ollama/ollama/issues/8291
うん、Yes。
公開されてるbenchmarksは信じられないな。
まだ試してないけど、俺がtestedしたMistralのevery modelはbenchmarksでLlamaと同じくらいbottomの方だったんだよね。
real life performanceがthey’re claimingみたいなanythingだったらvery surprisedだよ。
最近All Handsのother modelsでworkedしたけど、あれってMistralベースだと思うんだ。
My general impression so farはClaude 3.7 Sonnetにはquite up toじゃないけど、they’re quite good。 ”AI pair coding assistant” としてはMore than adequateだし、stepsにbreak thingsすればlarger architectural workにもsuitableだよ。
俺も信じられないな。imo自分でtest theseするhave toだよマジで。
exampleだとQwen3はfor me step backwardsだし。あとGLM4はみんな”only good at html”despite my current goto。
70b cogito modelもfor me really goodだけどdoesn’t get attentionなんだよね。
projects / languages we’re using depend onだと思う。
Still looking forward to this one though 😊
もっとコメントを表示(2)
y’all localでrun these thingsするwhen what hardware使ってんの? this purposeでFramework desktop[0]pre ordering thinkingだったんだけど、run itできるdecent laptop (ideally Linux)でもwouldn’t mindなんだよね。
[0] https://frame.work/desktop
All Hands AIにLMStudio使ってMacBookでDevstral動かす手順があるよ:https://docs.all-hands.dev/modules/usage/llms/local-llms#ser…
同じページにGPUでVLLM使う手順もあるけど、量子化は非対応みたい。だから複数GPUが必要かもね、「少なくとも2GPU」って書いてあるし。
M4 Max 128GB RAMでLM Studio (MLX)、128kコンテキスト全部で動かしたよ。上手くいくけど、最初のプロンプト処理に1分かかるのが長いね。これ目的ならノートPCより出る予定のAMD 32GB GPU待った方がいい。M4 Maxでも発熱ヤバく、バッテリーもすぐ減るから常時給電いるくらい。がっつり使うには遅く感じるかな。
トークン毎秒の速度も測ったの?
うん、M4 Max Studio 128GB RAM持ってるよ。Q8 GGUFなら131kコンテキストでもメモリに収まった。メモリ使用率45%くらいで余裕だったよ笑
二人とも秒間何トークン出てるか教えて?
AMDはちょっとニッチな道になりそうだよ。Nvidiaの方が多分成功しやすいし、面倒な設定で悩むことも少ないと思う。
Nvidiaって4090を何枚も繋げずに64GB以上のVRAM積める統合メモリみたいなオプションある?ローカルLLMにはApple Siliconの共有メモリがマジで価値を示したよね。生のGPUパワーは劣っても、中くらいのモデルを読み込めること自体が超プラスだよ。
完全には無いけど、Ada 6000なら持ってる。あれ48GBあるよ。
RTX Pro 6000 Blackwellは96GB VRAM積んでるよ。
そのカードだけでFramework Desktop本体の4倍くらいの値段するよ。仕事用なら多分それだけの価値あるだろうけど、enthusiast向けとしては明らかにベストってわけじゃないね。
だいたい選択肢は、グラボいくつか積んだデスクトップか、Apple Silicon搭載のMacだと思うよ。
へぇ、LLamaIndexでツールいじってたら偶然このDevstral見つけたんだ。自分で作ったエージェントコーディングシステムで使ってみようとしたんだけど、”ツールがない”って言われて全然ダメ。プロンプトいじっても動かないし。他のモデルは問題なくツール使えてるのに、なんでだろ。
ツールスキーマをちゃんと使わせたいならconstrained outputsってのを使えばいいよ。ちょっと手助けすれば、どんなモデルでも使えるようになるはず。
もしこのエージェントやモデルが本当に期待通りなら、EUが開発費を出してあげてもいいかもね。そしたらMistralは本来やりたいことに集中できるだろうし、俺たちにとってもEUがお金を賢く使ったってことになるんじゃない?
>EUが開発費出す件についてね、俺の税金がApacheとかMITライセンスのモデルに使われるなら別に構わないよ。代替手段を維持して、誰もがフェアにいられるようにするためにもね。一部の巨大企業がこれを独占しないようにするのは大事だと思う。
結構確かな情報だけど、EUってAIスタートアップが使えるスパコンに資金出してるはずだよ。で、Mistralはそのプログラムのパートナーになってる。
リンク貼っとくね。パリ南部に建設中のEclairionっていうデータセンター、主にMistralが使うんだけど、ここ公的資金が入ってるんだって(地域から3Mユーロとか)。
俺のLLM触った感じだと、ベンチマークの数値って現実からどんどん離れていってる気がするな、少なくとも俺の周りでは。このモデルをClojureの問題でいくつか試したら、qwen3:30b-a3b-q4_K_Mより全然ダメだったんだよね。これどう解釈したらいいか分かんないけど、もうベンチマークはそんなに信用してない。
どうやってテストしたの?これって普通のコーディングモデル(関数作成とか)と違って、agenticなフローやツール利用に特化してファインチューニングされてるんだよ。gitチケットみたいな大まかなタスクを渡して、ツールを使いながら問題を解く感じ。Open Handsとかと一緒に使うのがおすすめ。テストするときはこの点を考慮した方がいいと思うな。
ツール呼び出しは試してないんだ。いつもは2つのテストケースを使ってる。1つは正確に書くのが難しい浮動小数点比較関数。もう1つはClojureのasync関数の複雑な仕様のコードレビュー。モデルにコードの改善点を言わせるテストだよ。大きいモデルは結構できるけど、小さいモデルは難しいみたい。