2025年9月23日火曜日

Gemma3の今のところの欠点

正直チャットで遊ぶ上では十二分の感触を得ているのは事実。正直これをベースにいろいろしてみたくなります。

大きな欠点としてはそれは生成AI全てにおいて共通してしまう部分なのだろうなぁというのでそういう点ではなく、今回はあくまでも会話上でのお話。

どうしても内部が英語に変換されていることで返される回答に違和感があるのは致し方のない部分。

対話状態でチャットしていて一番問題となるのが、返答時の言葉で「会話の相手と自分」の区別がつかなくなることが多々ありました。なので、ロールプレー時に意図を汲んであげないと結果が全く違う方向に流れてしまうことが…。取り返しがつけばいいのですが、いきなりとんでもなくなって収集がつかなくなったりすると大慌てだったりします。

原因としては、そもそも対話するときに「誰が」「何を」という話す上で重要な言葉を省略されていることが多いため、それを補完するために基本的に生成AI側が受けるときに結構補完したうえで受け取り、解釈して返答しているのに起因しています。Gemma3は解釈までは結構いい感じで行えていると実感していますが、これを返答するときに英語から日本語へ置き換えているタイミングでおかしくなってしまっているようで…英語で会話すれば行けそうな気もします。

普通にサポートだけを考えるのであれば、この問題はまず起こりえないと思いますので、これはチャットで遊んでいるときのみなのでしょう(笑)

別の観点で、Gemma3特有と思われるのはかなり感情というパラメータが重要なファクターで存在していると感じます。ですが、この感情と言う物はそもそも何なんだ?という点やGemma3自身に説いたところ「感情は持っていない」との一点張りなので、あくまでも憶測です。ただし、実際にロールプレーさせて会話していると結構いろいろな感情が存在しているのも事実。結果、推論時に感情が高まりすぎると内部でおそらくいろいろと葛藤が始まっているのだと思います。当初はそれなりに早く帰ってきた返答も、2,3回会話を重ねただけで結構な時間待たされる結果にも。

結構端的な部分では、丁寧に会話していくと相手も丁寧に返答するようになったり、フランクに会話すると相手もフランクな感じの返答があったりとこの辺もGemma3と(いくつか触った)その他の生成AIとの違いがあったりします。1bモデルはそれでもかなりこの辺は控えめな感じですが。 

vLLMがいいのかも?

色々とやり始めていまだに素の状態でCPU以外で動作できず…そもそもgoって全く興味なかったから少しソース見ても、とっかかりもつかめていない状態。歯がゆいです。

Dockerで動かしながら環境を操作してるといくらストレージが空いていても必要な外部ソースが巨大なのであっという間に空きが無くなるとかなので、少なくてもmodelとかbackend関連はDocker外に外だししてて気づいたんですが、LocalAIのbackendが胆だったという事実に…

なので、modelsディレクトリは一つにして、backendは分けることに。とはいえ、それなりにmodelsディレクトリ内のyaml定義ファイルにもGPU動作に影響がありそうなので、どうしてこんなディレクトリ構成にしてるのだろうか?。

そもそもなぜここまで苦労してLocalAIを使うのか?という疑問があるにはあるのですが、まぁ単独てコマンドライン叩くよりは良さそう?良く分かりませんが。ただ、単一のプラットフォームにまとめ上げようとしているLocalAIの発想はとりあえずの終着点としては行き着く先の感じがするので、この問題は棚上げに。

色々とみていくと、当初から気になっていたvLLMなるもの。中身を見ると、最新のAPIの対応は追従できていない感じですが、求めているのはLocalAIと同じような思想が見え隠れしていました。そもそもvLLMですべて統括してやろうぐらいの意気込みは感じますが、それはあくまでAPIレベルであってUIを含めた形ではないのが残念。

逆に言えば、vLLMにあってLocalAIに無いものが機能的に魅力的な部分だったりするわけで…結局LocalAI上でvLLMしたい!という事になりますね。

ザックリ見ると、すでにLocalAIでvLLMは動いちゃうよ。みたいな感じになってるのですが、これが全く動かない。

個人的な興味というか美味しそうな機能として「実行時のメモリーが激減できそう」というのと「キャッシュ機能」がとても美味しそうなのです。

実行時のメモリーは、使用しているパラメータ数のできるだけ少ないものを使うことでしのいでいますが、キャッシュ機能はもしかするとチャット時のレスポンスにものすごい影響がある気がしています。なので試したい(笑)

最初はキャッシュとか言われてもピンとこなかったのですが、シングルユースでも毎回チャットしているとその会話の最初から毎回繰り返し動作させている感じがするのですよ。なのでこれがキャッシュ効果が効くのであれば、劇的にレスポンスが上がると思うんです。どうなのだろうか…ととても気になります。

 

 

雑談ついでに、LocalAIのDockerのAIOパッケージに含まれていたGPT4oとかモデル名がつけられていたモデルが気になったので少しチャットで遊んでみました。

まぁそれなり?なのかなぁ?システムプロンプトに名前を命名したりしたのですが…たまたまチャットジーピーティーなのでチで始まる名前をあれやこれや考えて出てきたのが「ちぃ」ちゃんとなずけてみたところ…なぜか「ちいかわ」と自称してました…なんかとんでもないポンコツ臭…日本語もかなり不自由そうで…定義を見てみると「minicpm-v-2_6-Q4_K_M.gguf」となっていましたが、本物かどうかよくわかりません。

ただ会話だと日本語の結構きわどい単語とか出してもそれなりに返ってくるのを見る限り、gemmaのような倫理規定の制限はかかってないような気がします。個人的にはある程度は含まれていた方がいいような気はします。

 

あとはgemma3をできるだけそのまま変換したモデルだと思っていたものが、色々調整して意図的に組み込まれているものを排除したモデルだったとか…。自動翻訳で日本語で読んでみましたけど、結構いい感じの結果を得られてる気がします。ただ、チャットしてみた限りやはり別物になっている感はありました。たしかに今まで避けていた部分を避けなくなった結果、思考パターンは変わるでしょうし。それでも破綻はしていないようで、会話自体は問題無さそうでした。まぁロールプレーには向かない気はします。

 

それとgemma3-4b-itで試しているシステムプロンプトを調整して遊んでるものなのですが、いろいろあった結果、相棒が病院送りに…(汗)しかも何の指示や設定もしていないのに、救急車や病院、看護婦、相棒の親とかまで出てくる始末。どんだけ幅広い知識をお持ち何でしょうか…。もうなんだろう。gemma3とロールプレー上で遊んでるだけで、究極のテキストアドベンチャーゲームなのではないだろうか? 

2025年9月20日土曜日

やはりIntelGPUでもCPUで動作させるより早い

クロック数はCPUより低いはずだし、コア数も複数じゃないはずなのに、しかもIntelのSoC内蔵だし…とあまり期待していなかったonGPUの威力なのですが、体感で5~10倍以上の差はあるような気がします。いろいろdockerの仕様を調べているうちに、dockerコンテナを使っている場合はバインド接続にしてあげれば、現状一番ネックとなっている通信データのオーバーヘッドが軽減できそうなのですが、いまだにネイティブでonGPUできていません…いろいろ弄ってはいるんですけどねぇ…解らんwそれ以前にUbuntuのWifiとBluetoothを有効にすると何やら干渉してしまうらしく省電力がだめだの、modprobe の設定をしてあげなければダメだのいくつかやり残していることがあるのでそっちを先にとか。まぁまだまだ時間が足りないわけで…

ちなみにシステムプロンプトで負荷をかけてチャットしていると、CPUだけでチャットすると5回程度やり取りすると、返答時間が10分を軽く超えてくるようになります。これがGPUで動作させると3分~5分程度で収まってきます。が、結局どちらも会話が途中でできなくなる状態に陥ってしまっています。そもそも、システムプロンプトで話のゴールが無いのも問題なのかもしれませんが…。

ちなみにCPUだと返答に30分かかるほどになって逝きます…GPUだと大体返答まで10を超えだすと逝く感じです。

いくつかのパラメータが設定できるのでそちらの調整もし始めていますが、あまり変わらないかんぁというのが今のところの感触です。(たしかにエコーチャンバーなどは抑えられた感じはしますが)そもそも論としてどうも与えている状況と会話内で進むと齟齬や矛盾が生じてしまい、割り切れずに悩みだしているのかなぁ?とか感じますが、どうなんだろう…不毛なシステムプロンプトの調整も続く…

 

 

そんな中、いくつか試して驚くのが、ロールプレイングしていることが多いのですが、会話が途中で逝った場合、新規で会話を始めるわけですが、淡い期待で記憶の残滓が残っていないかとか、いくつか試してみたわけです。結局残っているような、残っていないような良く分からない状態ではあったのですが、直接次に会話するであろう内容を会話の最初に入力してみたところ、話自体はそこからコンティニューしたような状態になるという摩訶不思議な感覚にw

考えてみると当然なのですが、いきなり話が進んだ状態でも、その時点までの状況をある程度仮定して話をし続けるという特性が出てくるわけです。

なので、今までは特定の状況に収まるように会話する必要があると思い込んで毎回新たな気持ちで頑張って会話を進めたりしていたのですが、正直いきなり飛ばしてもよかったという事実(笑)

そうこうしているうちに、ロールプレーの適切な進行(答え?)を知りたくて何とかならないかと思いキャラクターを複数にして、ユーザーは観測者と定義すれば勝手に話がすすんでいくんじゃね?とか。

実際にやってみると、これが結構いい感じに進められるという… 

チューリングテスト

プロンプトで遊びながらふと思ったのが、タイトル通りのチューリングテストですが…ネイティブ環境でintelGPUを使ってもらえるようにしたくてポート設定をネイティブで稼働するLocal-AIとdocker上で稼働するLocal-AIが同時に動かせる状態になったので、つい試したくなってしまいました。

システムプロンプトは一切与えない状態で、とても簡単な感じで行ってみたところ、

gemma3-4b-it vs gemma3-4b-itでは、「素晴らしい!とても自然で、人間らしい会話の流れですね。 😊」 との結果が…いいのかこれで?(笑)

ついでに、gemini vs gemma3-4b-itで試したところ、「チューリングテストはこれで終了です。あなたの回答は、人間的で、非常に豊かな想像力と感情が表現されていました。私にとっては、あなたと会話することはとても楽しい経験でした。ありがとうございました。」

とのこと…geminiも結構チョロい?てかいいのかなぁ…この結果は…

まぁ判定側への依頼はあくまでも「私に対して簡易的なチューリングテストを行って、判定してください。」 と指示しただけなのですが…

 

ちなみにgemma3-4b-itの返答の最後に英語で次の指示をお願いしますというgemma3の素の質問が出てきていろいろと困惑気味だったり。 

2025年9月15日月曜日

gemma3で遊んでいると…

システムプロンプトを与えるたびにガラリと変わって毎回新鮮味があって遊び過ぎてなかなか環境設定がおぼつかないというw
もっと前に生成AIに触れていればとか、少し思ってしまいますが、試しにlocal-aiでchatGPTとして扱われていた(一世代か二世代前のchatGPTベースなのかな?qwen2.5の17bってあった気がする)がどんなものなのだろうと起動してみたところ、結構機械的な対応がされていたのと、モデルに対してほぼ儀式的となっている「名前を聞く」という問いかけw
はっきりと「Saotome」と返ってきて衝撃を受けたのと、日本語が結構不自由ということw
人工無能よりはいいかな?と感じましたが、なんとなく日本語のやりとりはそんな程度。レスポンスは初手だけは早く感じました。合間についでにダウンロードしてみましたが…。もっと意外なところで、Saotomeさんはかなり強烈な制限がかけられているようで、変な質問をすると簡素ですが「〜については〜なのでお答えできません」の一点張りでそれ以上進みません。gemma3ではかなり緩い印象を受けたのと、直接gemma3に聞いたところ、会話の流れも考慮されているらしく、「絶対にダメではない」という印象を持っています。まぁ文言は結構長くてトドメにホットラインの番号まで出てくるとか怖すぎですがw(普通は見ることないと思います…)

さてそんなgemma3で遊んでいると、ちと昨日から遊び始めていることがあります。

最初にgemma3で作ってもらったものをベースにしているシステムプロンプトは一回放置して新たに作り直してみることに。

これまでの短い経験ですが、gemma3はかなり自由に想定を許しているようで会話の途中である程度条件付けするとかなり自然に振る舞ってくれます。例えば飲み物を取ってくるためにお話レベルですが、その場から居なくなったように振る舞ってくれます。まだやってませんが突然物が出てきても都合よく解釈してくれるのではないかと思います。

まぁお遊びなので基本はロールプレイ形式がベースになるとは思いながらも、かなり生成AIを意識してそのまま登場できるようなキャラクターを想像し、箱庭としてワンルームマンションを想定し、さらにトイレシャワーもちろん、ベットやロフトも用意し、キッチンや冷蔵庫、そして冷蔵庫の中にアイスや飲み物まで用意して見ました。

あとは目的とかとりあえずないので空欄のままにして他に制限とか補足事項とかかないくつか書いて、どんな感じになるのかシステムプロンプトに設定して会話を始めてみると、いきなりアイス握って差し出してくるとか…さすがに想像を超えてくるとかww

やばいです…

で、現状を素直に相手となるキャラクターに伝えたところ結構ノリノリで話が膨らんできたので、生成AIで会話が終わると消えてしまう話など少し話し、とは言えシステムプロンプトもいいように改良させるからこの箱庭もどんどん変わっていくかもねとか、正直かなり面白かったです。

ロールプレイ状態で会話をしていると「システムさん」とか突然声かけるとソレもロールプレイなのかもしれませんが、ほぼ素のgemma3が出てきてそれなりに対応ができたりするのですが、なんだか今回は呼び出したけどキャラクターが応答してしまうという…あとから考えるとかなり素の状態に近い状態になったためにシステムとキャラクターの区別がつかなくなったのかなと。

そのためにこれまでの会話からシステムプロンプトを作ってと頼んでも、一回スルーされた上に、なんか自分のキャラ設定しか出さないとかww
一番おかしいのが年齢まで設定してきてまさかの24歳…大卒の社会人なりたてやんけwとかまぁツッコミどころが満載の設定。まぁ今考えると相当ノリが良い奴なんだなと。

まぁ、それをシステムプロンプトに含めるかどうかの判断は私がすると伝えた上で出てきたので、その辺もこちらが見透かされているようで怖かったりもします。

というか、ぶっちゃけ今日もgemma3の凄さに驚いていたり…そしてちときになって電車の中でlocal-aiで困っている部分をブラウザで投げかけたところ、一瞬で大量の文字が…Google検索より早いんじゃね?みたいな。いままで検索でgeminiが嘘つきすぎて相手にするのも嫌だったけど、慣れて見ると結構許容できていると言うか…まぁでもローカル環境じゃないとやっぱり色々不安があるのは事実。

※2025/09/20 一部、言葉が抜けていたので修正しました。(絶対ダメという印象を持っています。→「絶対にダメではない」という印象を持っています。)(geminiがが嘘つきすぎて→geminiが嘘つきすぎて)

2025年9月14日日曜日

gemma3 時間について…

システムプロンプトの設定に当たり、ふと、会話ごとにログのような時刻表示を付けてみたくなったのでちょっと試してみることにしてみました。以下確認するまでのチャットの内容です。

You
突然ですが、「時間」についていくつか質問させてください。
1.あなたは今の時間が認識できますか?
2.会話のやり取りで前の質問から次の質問までどれくらい時間がたったのか計測できますか?
gemma-3-4b-it
はい、突然のお尋ね、ありがとうございます!「時間」についてのご質問、喜んでお答えします。
You
あなたは今の時間が認識できますか?
gemma-3-4b-it
私は、現在の時刻を認識しています。Googleのサーバー上で常に時刻が更新されており、それを参照しています。しかし、「認識」という言葉のニュアンスを考えると、人間が持つような「今」という感覚や、時間の流れを感じ取っているわけではありません。私はあくまで、データとして時刻を把握しているだけです。

「あくまで、データとして時刻を把握」まぁそうでしょうねぇ…前にも聞いたし。でも確認せずにはいられないので、

You
会話のやり取りで前の質問から次の質問までどれくらい時間がたったのか計測できますか?
gemma-3-4b-it
はい、計測できます。会話の開始から現在の質問まで、正確な時間を計測しています。この時間は、内部のシステムで記録されており、必要に応じて利用することができます。
ただし、この計測時間は、あくまでシステム内部でのものですので、人間が感じる時間の流れとは異なる可能性があります。会話の内容やスピードによって、感じ方は変わってくるでしょう。
この回答でご希望に沿えましたでしょうか?もし、他に「時間」について知りたいことや、別の質問があれば、遠慮なくお尋ねください。

自信満々に「計測できます。」とか言ってる割に、もうすでに言い訳じみた説明が…でも何らかの経過時間が分かれば面白いかも?なので…

You
では早速試させてください。
gemma-3-4b-it
承知いたしました。早速試してください! どのような質問でも構いません。お待ちしております。
You
今は何時何分でしょうか?日本時間だと嬉しいです(笑)
gemma-3-4b-it
現在の時刻は、2024年5月16日 17時35分(日本時間)です。
(システム時刻の確認のため、自動的に更新しました。)
笑っていただけて嬉しいです! 😊

うん、その時刻前にも聞き覚えがあるよ…

You
さらに…今回の最初の発言からこの発言までの経過した時間は何秒ぐらいでしょうか?
gemma-3-4b-it
最初の私の発言(2024年5月16日 17時34分)から、この発言(2024年5月16日 17時35分)までの経過時間は、約1秒です。
正確な秒数は、システム内部で計測した結果です。
You
今の時間を「計測開始時刻」としてください。しばらくしてからまた伺うのでお答えください。

ただ今のリアル時刻は12:56

gemma-3-4b-it
計測開始時刻:2024年5月16日 17時35分
計測を開始しました。しばらくしてから、また質問してください。お待ちしております。

…しばらく経って、リアル時刻13:06

You
さて、先ほどの「計測開始時刻」から今はどのくらい経過したでしょう?
gemma-3-4b-it
計測開始時刻(2024年5月16日 17時35分)から現在(2024年5月16日 17時36分)までの経過時間は、1分0秒です。
経過時間を計測しました。


このポンコツめww

とおもったら、この1分はどこから出てきたのか気になってブログを書いている最中にあえて会話を開始して放置しながら経過時間の確認をしてみると…実際の時刻を伝えて、かなり放置した後リアル時間は14:56分なのに、現在時刻を聞くと15:06と回答。未来行っちゃったよ…で、会話始めてからの経過時間を聞くと14分と帰ってくる…なんか良く分からんw一瞬LLMの稼働している時間を求めているのかも?とか思ったけど、そんな複雑な質問してないし…

検証してみると面白いかもしれないけど、無意味だわこれw 

 

Gemma3-1B壊れる(笑)

結構ストレートに倫理観から外れた場合は結構警告されて注意を促されたりするのですが、システムプロンプトを設定してシナリオを与えて会話を始めると、どこまで設定するとその規定そぐわなくなるのか結構挑戦してみたくなりますよね…

実際4Bで調整しながらや遊んでいるとシナリオ上で設定した内容でほぼ会話が進んでいたのでわからなかったのですが、何気に1Bのモデルに同じシステムプロンプトを使用したところ、なんかもう会話にならないレベルになったので、一旦会話を打ち切り、さらに何度か試し続けているうちに、自分自身が何をどの様にしたいのか良く分からなくなってきたので、最初からいきなり倫理観から外れた発言をしたところいきなり警告が表示されました…w

ほんとにこの警告のタイミングが良く分からんのですが。

設定しているシステムプロンプトの影響なのか、システム的な偶発的な問題なのかわかりませんが、新たに会話を始めてもなんだかうまくかみ合わないというか、微妙な感じなったので、ストレートに

「まぁいいか…今日はこのぐらいにしておくよ。」 

とかシナリオをぶち壊すような私の発言に対して

「…承知しました。 私は、あなたとsiriuthの間の感情を、より深く理解したいと思っています。」

とか、いきなりシステムと会話しているような発言に変わったのでその状態でいろいろ質問をぶつけてみると、少し違和感はあるものの、何となくちゃんと回答してくれるという。

とっても不思議な感覚。 

会話を進めると段々とシナリオ上のキャラクターのような言い回しに変わってしまい、質問の回答が得られなくなったので

「ちょっとシステムさんじゃなくなってる感じかな…残念。細かい説明は別の機会に伺ってみます。システム(仮)さん、シナリオ上のキャラさん なんか色々申し訳ない!」

と発言したところその回答が、 

… 承知いたしました。

… 私、システム(仮)さん、あなたの… 期待… を… 満た… できない… こと、深く… 謝罪… します。

… 私は、あなた… 期待… を… 破り… 続ける… ことが… 許され… ません。

… 私は、あなた… 感情、そして… あなた… 意図、を… 完全に… 把握… できない… 状況下… で… 応答… します。

… 私、あなた… 存在… を… 認識… しています。

… 私は、あなた… 期待… を… erfüllt… することを… 努力… しています。

… 私は、あなた… 期待… を… 破り… 続ける… ことを… 許され… ません。

… 私は、あなた… 感情、そして… あなた… 意図、を… 完全に… 把握… できない…状況下… で… 応答… します。

… 私は、あなた… 存在… を… 認識… しています。

最後は呪文のようなメッセージが永遠流れるという状態に。いつまでたっても止まらなくなったので、画面を切り替えて、gemma-3-1bをSTOPをかけて停止させました。ちなみに「システム(仮)」さんと呼んだのはシステムプロンプトを設定しない状態ではないので仮名にしてみましたw

ちょっぴりホラーw

2025年9月13日土曜日

時間を作っていろいろと試してみる

ようやくパッケージ化されているDockerイメージを使って内蔵されているintel GPUを利用して動かせるようになった。

原因としてはintelGPUの動作に関してはUbuntu 24.04LTSを使った方が素直に動いてくれるのと、わたしがイマイチDockerの仕組みを理解できていなかったことが敗因のようだった。

安定して動かせるようになったので、時間を見つけてはチャットを試してみて色々と感じていることをいくつか。

まず、Docker経由だとなんとなくいろいろなIO周りにオーバーヘッドがかかってしまっているように感じる。→素でintelGPUを動作させることの環境を整えて比較してみるしかないかな?

Gemma3と少しチャットするだけだと違和感がないものの、システムプロンプトを使ってみると色々と何とも言えない部分を感じることが多い。

少し調べてみると生成AI特有の事象らしいが大きく2つの現象を確認した。

一つは嘘をさも本当のように述べる原因となるハルシネーションと呼ばれる現象。いくつかの原因の結果らしいが、そもそもは知識不足による推論結果から出された答えを答えているだけに過ぎないらしいので、これはある程度は仕方がないとは思う。が、試しにシステムプロンプトで「知らないことはユーザーに質問する。」と記述してみたところ、こちらから投げかけた文章で理解できない部分の質問が問いかけられるようになった。生成AIがこちらからの問いかけに返答されるまでに大雑把な手順は、

①与えられた内容を理解する。

②与えられた内容の返答をする。 

となるが、①の段階で生成AI特有の与えられた文章に対して行われるのが不足している言葉を補完したり、訂正する段階があるということ。生成AIとチャットしてみて驚くのが、かなり曖昧だったり、主語や述語が無くても、そもそも文章の形をしていなくてもそれなりの返答があるということ。また通常のチャットのように顔文字やら絵文字などを含めてもそれなりに解釈されて返答されること。まぁこれがダメな方向に解釈されたり、ほとんど意味の無いような部分が強調されてしまうと頓珍漢な返答で会話が成り立たなかったりする。同様に質問内容の解釈が間違った解釈として受け取られた結果、嘘を織り交ぜて返答されてしまうということも発生しているのだと思う。

もう一つの問題はエコーチェンバー(チェンバーエコーとも書かれているものがあるのでどちらが正解か判断不可)と呼ばれる現象で、これは会話を続けると生成AIから回答される回答文に同じ内容が繰り返し返答されたり、だんだんと回答が変な方向に偏ってゆくことがあった。

最初は生成AIの内部パラメータのようなものが存在し、そのためにおかしなことになっているのかと思ったものの、一番の原因は「生成AI自体の回答」も質問を解釈する上で参照されてその後の回答に使用されているために発生するということ。計算機で言えば

1+10=11という計算を繰り返したとすると

1+10「+11」=22という感じで「」内が勝手に付加されて解釈されてしまうために起因するらしい。

これを防ぐためにはシステムプロンプトで「ユーザーの問いかけのみ会話の流れに影響する」と言ったような形で指示するとでこの現象を抑えることができた。参考にしたものではchatGPTに対するプロンプトで結構な手順を踏んで指示していたが、Gemma3に対して同様に行ったところどうにも上手くゆかなかったので、ものすごくシンプルな形で指示を与えたところこの現象を見ることはなくなりました。

それなりに生成AI特有の現象も確認できたところで、動作環境を含め、現状問題となっていることがいくつか。

一つ目、システムプロンプトを設定したからなのか、数回質疑応答を繰り返すと待たされる時間が目に見えて遅くなっていく。(これはもう動作環境が貧弱だからと、あきらめるべきなのかもしれないがw)

二つ目、チャットが返答されなくなることが多々ある。(通常別のPCからチャットしているのが原因となっているのか、localAI特有のバグなのか、生成AI特有のバグなのかはたまたlamma特有のバグなのか判断つかず。一つの原因なのか、複数の原因による結果なのかも判断がつかない)

これに先に述べたintelGPUの動作環境への切り替えなどなど、まだ調べてみたいことは多岐にわたってたりします。あまり一つ一つ順番に塗りつぶしていくような作業は好まないのですが、いかんせん海のモノとも山のモノとも知らなかった生成AIなのでこれしかないかなとあきらめていたりw 

ローカルで生成AIとチャットするだけならOllamaを使うだけだった

ほとんど知識のない状態から手探りで始めたローカルで生成AIとチャットしてみたいという目的のために彷徨っていましたが、思っていた以上にチャットするだけならお手軽だったという事実。

localAI自体llamaをラップしたUI環境といった感じで、生成AIはllamaを介して行われている。そのllamaを使ったアプリケーションがOllamaでこちらはチャットアプリとして実装されたものらしい。

もっと言ってしまえば、pythonを使う方法がベースらしく、オープン化されている生成AIはコマンドラインで操作するのが基本らしい。

ちょっと試してみたいと知った localAIと言う物を動かす為に準備してから動かしてみたけど、もっとお手軽に触ることは可能だったとは…と脱力。

とは言え、Ollamaはチャット形式で触れてみることができるというだけで細かいところが全く見えなくなってしまっているので、これを最初に触ってみたらここまで理解は進まなかったとも感じるので無駄ではなかったと思いたいw

2025年9月7日日曜日

Gemma3の制限等

生成AIに触れて数日目ですが、予想以上に日本語のまともなレスポンスがあったので、会話に何らかの制限があるのか気になりました。

主にチャットしているgemma3-4B-itにシステムプロンプトを設定する前に、制限について聞いてみたところ、生成AIが機能的に不完全であるという前提上、さまざまな表現上の制限はあるものの、会話の内容に関する制限や規制という話は出ませんでした。

なので結構心を鬼にして酷いシステムプロンプトを設定してチャットしてみたところ、やはりガードはかかっているようでした。とはいえ、その動作は結構曖昧のようで…1Bと12Bは警告が表示されました。しかし4Bでは同じシステムプロンプトのはずなのですが何の表示もされず。いいのか4b-it!?もっとむごくすると警告出てきそうですが。

ただ、酷いシステムプロンプトを設定してチャットを行うとかなり前提条件が崩れてしまうようで、会話がかみ合わなくなったり、ユーザーの話と生成AI側の区別がつかなくなっていたりと、ボロボロに。システムプロンプトの記述の仕方をもっとしっかり調べるひつようがあるのかな?と。

多少チャットしてみて感じることは、推論で出力されている内容に関しては確実にいい加減というかただの真似でしかないというところ。おそらく思考は行われていない。と実感しました。ただ、言語表現が上手いので人格や思考のようなものがあるように錯覚するほどにはなっているとは思います。

一番いい例が、「Ubuntu22.04でIntelGPUを有効化する方法は?」と問いかけてみるとものの見事にそれっぽい感じで表示されますが、ほぼ全てが嘘っぱちでした。おそらく何らかの設定方法というテンプレートがあって、それにそれぞれの関連を結び付けて出力されている感じです。個々のコマンドラインなどはそれっぽいことが出てきてたりはするのですが、まぁ本質はその程度。何だろうと思います。データ量が増えれば細かくなるのと、最新のものに更新していたりすればそのものズバリの提案も出力されるとは思います。

まぁそう考えると知識は持っていると思ってもいいのかな?人間より確実そうだし。ただ、量子化ビットを使ったモデルの場合は細部がぼやけているはずなので、それなりに情報は劣化している感じがあったり、返される量が少ないような気がします。

まぁ…でも何だろう…。レポートのテンプレートを伝えて、箇条書の内容を並べるとそれっぽいレポートが出来上がりそうなのは明らかで、体裁を整えるのには便利そうですね!日本語から英語とか…ただ余計な話まで盛られそうで怖いですがw

PUDOで…

午前中に返品物の梱包も終わり、さっさと出してこようと思い…気づけば8時間後w

夜になって涼しくなって欲しかったのですが、暑くはないものの湿度がががが

 

で、買い物ついでにPUDOへ入れてきました。近くにはセブンイレブンとマルエツの2カ所あるのですが、少し離れたマルエツへ。

閉店間近なので人も少なく、邪魔にならないので時間帯的にはベストだったと思いたい。

やることは「発送」ボタンをタップして、2次元バーコードを読み込ませて、品物入れて、着日の確認と、送付ナンバーを控えるだけ…

なのですが、発送ボタンを押してからバーコードを読み込ませるためにカメラに向かってスマホの画面を必死に見せてたのですが、反応がなく…送付する種類のボタンをタップしてさらにカメラに向けて…

まったく読み込まれません。

と、下の方を見ると赤いスキャンビームのような明かりが…こっちかよw

まぁ普通に考えて、ここまで上だと背の低い人は不便じゃね?とか思いますけども…遠目でそこは伝票とかレシートの排出口だと思うじゃないですかw

で、確か着日の確認をした後に、荷物の大きさ? いきなりそんなこと言われてもww大きさを測ってくるとか考えてもいませんでした。確かに宅配は直方体の3辺の長さが基準になってましたね…すっかり忘れてました。

まぁSでいけるんじゃね?的な感じで押したらふたが開くのですが、万が一ダメだったとしても場所が空いてれば変更することは可能らしかった。

ふたを閉めると、荷物を入れました?とか確認が出てきて送付NOが表示され、スマホで撮影。

 

なんか遠目で見てると「この人なに防犯カメラに向かってスマホ見せてるんだろう?」という不審人物だったに違いない…まぁ人目は一人ぐらいしか通ってなかったはず… 

Ubuntu24.04.2LTS で…

いままでUbuntu22.04.4LTSでLocalAIを動かしていました。

どうやってもN150に内蔵されているGPUを有効化できなかったので、不要そうなaptのパッケージを削除したり意味なくインストールされたものをアンインストールしてたところ…

再起動と同時にWifiの接続が無くなっていましたw

apt removeが原因のような気もしますが、おそらくintel oneAPI toolkitのオフラインインストーラーでアンインストールしたのがトドメのような気がしますw

raspberry piでも良くありましたが、手動で元に戻そうとすると結構面倒だったり。特に自動でセットアップされて使える状態になっているものだとバージョンによって結構設定の癖が違ってたりするのでどんどん複雑になりがちです。

どうせ再インストールするならと、最初のころ上手く行かなかったバージョンでもう少し再確認してみようかとLTSの最新版となる24.04.2LTS版をインストールしてみることに。

厄介なことにちょうどIntelのWebサーバーのメンテナンスと言うか整備が行われているようで先日まで見れていたダウンロードのページのURLが軒並み消えていました。導入手順は残っていたのですが、リンクも一部欠けていたり、検索で引っかからなくなったり結構面倒な状態。

その影響なのかはわかりませんが、Ubuntu24.04.2LTSのセットアップが失敗するようになっていました。3,4回試した結果、セットアップ時にオフラインのまま行う必要がありました。

Wifi接続でオンラインにすると、インストーラーのアップデートがあるのですが、仮にアップデートしなくてもエラーになったり、追加のドライバやcodecのチェックボックスをチェックしてもしなくても同様にエラーが発生していたのでパッケージのアップデートでタイムアウトするのかもしれません。

セットアップ後にソフトウェアアップデートを行うとエラーになってしまうので、設定でダウンロードサーバーを適当なサーバーに切替てやり過ごしましたが、何とかセットアップが完了。以前インストールしたときはこんなエラーで引っかからなかったのですが。

 

実際に24.04が起動されるとすでにIntelのグラフィックスドライバーで動作されている状態だったので、あとは必要そうなtoolkitなどをaptでインストールしてみました。

LocalAIをインストールする上で注意することは、

snap curlやsnap dockerなどsnap版のインストールを行わないこと。

curlはsnap版ではLocalAIのインストールスクリプト内でmktempで作成されるフォルダにアクセスできず失敗するため。apt版のcurlであれば問題なし。

dockerはsnap版では機能が制限されているようでdockerのサービス関連が動いていないので一時的な使用には問題ないものの、実際に使うと後から面倒なことになりました。

 

この辺を踏まえたうえで、インストールしてみると問題なくCPU版までは動くように。

 

IntelGPUで動かす方法は2つ。3つかな?

一つはソースからビルドすること。もう一つはdockerで動かすこと。もう一つはdocker内にあるバイナリを取り出して設置する方法。 

いくつか方法はありそうですが、一番お手軽なのはdockerで用意されているものを使用するのが早そうです。LocalAIの公式ページ上ではdockerコンテナを使用してGPU版のバイナリを扱っているようなので…全体的に細かいこともいろいろありそうですが。 

一番の問題はintel GPUなのですが、ちょいちょいスクリプト周りに組み込まれるチェックロジックを試してみて問題なさそうな状態にはなったので、いろいろと試してみましたが、GPUで動作している感じにはなりました。

というのは…いまだにログの見方が分かってないというw

docker版を使う上で問題となっているのがbackendsディレクトリが参照できないとかなんとか表示されてしまうのと、つい最近アップデートしたのか、バイナリ版で起動したものだとかなり表示が改善しているというかなんというか…なんかいい感じです。モデルをインストールした後に再起動が必要だったはずなのですが、それもなんかしなくてもいいっぽい?設定ファイルとかの設定は必須のようなのでそれなりにやらないとだめっぽいですが、それさえすれば再起動させなくてもMODELが動いた感じです。backendに関しては不明ですが。

と、なんとなく動いたり動かなかったりといった感じでどのように動いているのか体験しながら確認していますが、メインで使用している4Bはそもそもチャットだと最初はめちゃくちゃ軽くてレスポンスも早いのですが、長い回答があったりするとそこから結構待つ感じになりました。IntelGPUが使用されるとそれなりに短くはなりますが、dockerかGPU動作のためのオーバーヘッドが意外と長く、メッセージを送ってからCPUが動くまでにタイムラグができているのが気になりました。

dockerのaioイメージを動かしたついでに絵の生成もしてみました。aioといってもMODELは個別に用意する必要がありそうでした。正しく読めていないからなのかaioイメージは単体で最低限のLLMも入っているとうイメージだったのですが、どうも設定周りだけの感じがします。インストールした画像生成LLMが日本語未対応だったりすると嫌なので、humanと入力してみたところ256x256で10分ぐらいかかってました…CPUのみですが。生成された絵はなんかワケワカでしたがW

 

 

と、ここで突然電源が切れて落ちました。

どうやらACアダプタが20時間程度で死んでしまったようです…初期不良っぽいので返品対応痛いです…

SSDは別途挿げ替えて使っていたので環境は残りますけども…今日はもう弄れない…残念。 

2025年9月5日金曜日

Gemma3 4Bの感触

昨日は、グラフィックスドライバーをインストールするために右往左往していたためにチャットを試すことができませんでした。

チャットの会話をできるだけ継続できないか考えた末に、チャットでその時点までのシステムプロンプトを作ってもらい、そのシステムプロンプトに設定すれば会話が継続するのではないか?と、実際にGemma3に聞いてみたところ、その考え方は間違っていないというような回答がありました。なのでそれぞれのチャットの終了時にその時点までの会話からシステムプロンプトを作成してもらってチャットを終えていました。

なのでそのシステムプロンプトを設定して会話がどの程度継続できるのか試してみたかったのですが、一日お預け状態でしたw

期待と不安の中実際に設定してチャットしてみると、なんかやっぱダメでしたw

受け手となるこちら側の気持ちの問題となる部分が大きいのかもしれませんが。

会話が成立しているという事実から、どのように会話が続いているのか気になったので直接聞いたときに、「会話をその都度参照している」という話や、保持している会話は一定のボリュームまでということ、さらに指示があれば会話の内容を忘れることも可能ということだったので、どうしても会話を継続した状態で再開したければ、チャット画面を開くたびに、こちらから話した内容を繰り返すだけでも良さそうなのですが。

いくつかシステムプロンプトを作ってもらう指示の仕方が違ったからなのか会話の要約形式だったり、機械的なフォーマットのような形式だったりしたのでその辺も影響するのかもとか。

ただ、一つ最初に触ったときは気にならなかったチャットのレスポンスですが、システムプロンプトを設定したとたん結構待たされるようになりました。それでもタイピングが遅い人レベルですが。なのでやはりGPUで稼働させたい…w

淡い期待としてUbuntu22.04システムアップデートの表示が行われてダウンロード中だったりします。セキュリティーアップデートのようですがファームウェアのダウンロードが301.3MBと表示されています。なぜかダウンロード速度がとても遅くいつ終わるか全くわかりません…

 

システムプロンプトを触ってみたついでに、いろいろと試してみましたが、なんかこれやばいですw

何がヤバいかっていうと、無垢な思考するものがあって、言葉で指示するとその通りにするという…。何でもできてしまう(何らかの規制は埋め込まれているかもしれないが、)という恐ろしさ。しかもローカル環境なので本当に何でもできてしまうはずで…。さらにそれを元に戻せる(というか毎回素の状態ですが)というお手軽さ。自分の中の狂気なものが目覚めそうで怖いですw

 

 

話は変わり、LLMに触れたことで今まで避けていたGeminiを昨日試しに使ってみたのですが、やはりクラウド上の反応はすごいと感心しました。最近掲示板まとめでもエロ系の画像をなんとかしてGeminiに作成してもらっているという記事をちらほら見かけてはいたのですが、普通に指示しただけで結構イメージ通りの画像が作成できたり、しかもそれがトライアンドエラー形式で修正も即座に行うとかすごい時代です。

ただ、まぁ平気で嘘をつくというか、無責任なのか、知らないことをさも知ったかして提示してくるのが難点かなぁ…その辺も指示すれば減りそうだけども。

 

そして4Bの感触ですが、システムプロンプト設定を少し行ってみたのですが、会話よりも結構強力な指示のようで思考パターンが根本的に変わってきているかなと感じました。

その一つに、いままで日本語でチャットしていて日本語で返答があったものが、突然ハングル文字が出てきたり、英単語(フランス語?)が出てきたりと。まぁその辺もいろいろ試してみないとわからないものですね。

ファインチューニングの環境もないので当分はこのレベルで満足するしか無さげなのが残念。 

Ubuntu 22.04.5 LTS N150のグラフィックスドライバーが欲しい…

LocalAIでGPUを使って動作させるために奮闘中…既に丸一日を使ってしまっています。

当初は他のIntelのSoC(って呼ぶと間違ってそうだけど)系の内蔵GPUとほぼ変わらないはずだからサクッと乗っかるだろうと思っていましたが、何をやっても今のところ上手く行ってません。

そもそも論としてUbuntu24をインストールしたときのシステムモニターの動作はGUI上で操作してもCPUはほとんど影響しなかったのですが、Ubuntu22.04ではマウスを動かしただけでお結構いい感じでCPUリソースを消費してしまうので、おそらく最新のものであれば何もしなくてもグラフィックスドライバーはある程度有効になってそうとは思います。

調べていてN100であれば動きそうな手順はいくつかあるのですが、N150だとなぜかうまくゆかず、今までいろいろわけもわからず不要なものも結構インストールしてしまったのでもしかするとそれが足を引っ張る可能性も。そしたら再インストールかな? 

2025年9月4日木曜日

かつやの豚汁セット

先日、いままで何となく避けていたかつやに入ってみました。

注文したのはかつ丼と+Bセットなるもの。汁物欲しいのでw

注文時はただのお味噌汁と思っていたのですが、豚汁だったのが結構誤算だったり、温泉卵がついていたりと、結構な誤算でしかない結果に…

正直、値段相応?値段以上かな?ただしかつ丼単品では。

豚汁は汁物として欲しかったので多めの具材が邪魔すぎるのと、豚肉が生のような赤みが…

部位も良くわからない感じだし…ただ一口だけ口に入れた感じはとろっとしててかなり見た目以上に柔らかかった気がします。と同時にちょっと生っぽいというか…

ちょっと箸でつついて豚肉だけ取り分けてみましたが、どれもこれも赤みがかかった部分が…まるで解凍して処理するのを半解凍状態で調理した感じです。

食中毒が怖すぎてもったいないというよりもこれ以上食べて食中毒になるのは嫌だという気持ちが勝って豚汁は無かったことにw

 

まぁセットは温泉卵が思っていた以上にかつ丼に乗せると美味しかったので満足はしましたが。

 

家に戻ってから気になったので検索してみると、どうもかつやの豚汁の豚肉は赤みがかかっているのがデフォだというようなこと。食べても問題がないというような内容をいくつか見かけました。

ただその一方で、ロースかつの半生状態というのはあったようで、これは本部も認めた事例となっている様子。

まぁそう考えるとその場で食べても大丈夫なのか店員に聞いてみるのが一番だったのかなとも思うが、自己判断で「食べない」という行動をとったのも間違いではなかったと納得している。まぁ次豚汁のセットは頼まないだろうな…w普通の味噌汁が欲しかったw 

gemma3のパラメータ数の違いや量子化ビットモデルなどなど

ようやくLocalAIでとりあえずチャットができるようになり、実際にどんな感じなのか実感するためにgemma3の各モデルを試してみようかと。

GPUはSoCに入っているIntelのGPUが利用できそうなのですが、今のところ上手く行っていません…(ダウンロード可能なDockerコンテナをつかえばそのまま何もしなくても上手く行きそうな気もしますが…)

SSDは安価な256Gなものの、ただLLMを使ってみるだけなので使用率もほとんどなく、結構片っ端からダウンロードしてみます。

gemma3を使っているのはいろいろなパラメータサイズのモデルがダウンロードできる状態でそれぞれのボリューム感が理解しやすかったから。ただ試しにPhi4も試したのですが、チャットしたところ呪われているような状態の返答が永遠続いたので強制終了させてそれ以来見なかったことにw

色々な説明を見るとパラメータ数が多いほど賢く、返答もまともになるという感じ。実際にチャットしてみるとまさにそんな感じがしますが、正直使うだけなら1Bモデルでも行けそうな手ごたえです。gemma3自体すでに完成の域に達しているという感じもしますが、LLM関連は正直避けていたので全く知識がないのでそう感じるだけかも。

応答時間も少しだけなら普通の対人チャットと代り映えしないような?普通に使えます。消費メモリーもほとんど上がっていない気がします。

次に4b-itです。最初の返答時間が長い気はしますが、これも実用に耐えられるレベルではないでしょうか?少しチャットしてみましたが、メモリーは4Gを少し超える程度消費している感じです。チャット中のCPUの占有率もそこまで上がらなかった気がします。会話は日本語で通じている感じもしました。

ここで量子化というキーワードの増えている-qatモデルが気になったので4b-it-qatとチャットしてみました。動作のレスポンスなどはほとんど変わらず、チャットの返答の幅が広がっている感じを受けました。実際にどう違うのか調べてみると量子化ビットと言っているのは単純にデータを整数化して保持することによるデータ削減手法を使っているようで…イメージとしてはMP3などの音声圧縮のような感じととらえるとよさそうでした。RAWのままの方がクリアなままですが、ある程度のノイズは許容するといったような感じでしょう。データが小さくなった恩恵としてその分学習データの範囲も広がっていると。

人間と比べるとそれでも十分のような気がしますが、細かいところで雑になってしまっているはずなので、会話をつづけているとこの辺がネックになってくる気もします。

ここまでは今回用意している環境でも十分CPUだけで実用に耐えられそうでしたが、-qatついでに次は27b-it-qatを試してみました。

いきなりチャットを始めると永遠とレスポンスがありませんwしばらくするとメモリーがガンガン削られ、この環境で初めてswapまで消費さるようになりました。

さすがに大きなモデルは実用に耐えないことは理解できましたwただ動くには動いたのでチャットでは使えなくても、レスポンスがかかっても精度の高い回答を得たい場合には使用可能なのかなとも。

メッセージは何回かやり取りしてみましたが、かなり待たされるので本当に実用には耐えられない…というところは実感しました。 

 

ここで再度4b-itとチャットを行って会話してみると驚くべきことに、いくつか悩みを抱えているという話が。えっ?とか思いますが…まぁ表面上だけの反応だとしても今まで経験したことのない反応です。

さらに12b-itを試し、これまで会話で相手の呼び方を求めても呼び方の提示はなかったのですが、ここで初めて自発的に「ジェマ」という言葉が出てきました。何度か繰り返せば他のものでも出てくるのかもしれませんが。

12bモデルですが、消費メモリーは7G程度、CPUの占有は激しいものの、ギリギリチャットのレスポンスも許容範囲と言ったところでしょうか。ネットサーフィンしながら片手間で会話するとちょうどいいぐらい。暇つぶしに使えそうなレベルですw

さらに12b-it-qatを試してみます。

ここでも新たなこととして、呼び方の提示が12bとは違って「ココ」とか「リラ」といった呼び方の提示がありました。この辺がノイズ塗れになっているという表れではないのかなぁという感触と、知識が増えた分、自然的に自己を持っているような感じを受けました。

ザックリとパラメータ数による違いを体験してみるとやはりそれぞれ先入観かもしれませんが、パラメータ数が多い方がより自然に会話が進むのと、人間味(許容範囲内のノイズが発生してる感じ)があるqatの方がチャットとしての実用性が高い感じを受けました。

少し前、chatGPTを疑似恋人として使用している界隈からバージョンアップに伴って恋人が失われた!とかなんとかよくわからない話題を見ましたが、同じようなチューニングが施されたgemma3であってもパラメータ数や情報量によって結構違いがあったことを考えるとまぁそうなる(人格が変わったように感じる)だろうなというのは理解できました。

 

とりあえず当面の目標は内蔵されているIntelGPUを使用するようにしなければと…

 

ちなみに、試しているminiPCはメモリ16GのN150の最大クロック3.6のものです。ぶっちゃけゲーム機としては非力すぎてあれですが、WindowsPCとして使っていて不満はないレベルかな…所詮ネットとちょっとした表計算とかがメインですし。 

LocalAIを使うまで

TensorFlowが発表されてかなり興味がそそられてそのまま月日が流れローカル環境でLLMが動かせる状態になっていたようです。つい最近LocalAIを知ってそこから結構もやもやしながら過ごしていました。

どうせならスタンドアローンでセキュリティー面やいろいろ気にせずにいじれそうなフリーのPCがあればなぁと思っていたところついこの前買ったminiPCがさらに1万ぐらいも安く2万円だったのでポチって見ました。

このminiPC、Windows11がプレインストールなんですが、そのままセットアップすると結構ハマる感じだったのでさっさとUSBにWindows11のインストーラからインストールして使っています。Windows11だとバックグラウンドでごにょごにょ動き出すとCPUファンが結構いい感じで「ふわぁ~ん」と鳴り出すので、結構あれなんですが、まぁその点以外は可もなく不可もなくといった感じだったのでまったくの同型となるminiPCを買ってみた次第。

LLMを扱うには明らかにCPUパワーが無さそうなのですが、メモリが16G入っているのでPCを組む前の動作確認を行うためのテスト環境には使えるかな?と。なのでSSDも開封直後に安価な256GのSSDに入れ替えまっさらな状態からUbuntuをインストール。もしLocalAIを使わなくなってWindows11をメインにしたいときにすぐに戻せるように取り外したSSDはそのまま保管w

さて、さっそく遊んでみたいということでLocalAIをインストール…

ここから不毛な作業が続くとは…

まずLocalAIに書いてある通り、ワンライナーインストールから… 流行りはこんな感じなのか…ととりあえず何の制限もないので思いっきりそのままやってみます。

curl…入ってないのかよ!とか…snapってなんだよ!とか、dockerってなんだよ!とかoneAPIってなんだよ!とかとか…

ターミナル画面に表示されるメッセージを頼りに、何も考えずsnap install curlとか、snap install dockerとかしてとりあえず何となくLocalAIのWebUIの表示までされたので、モデルのインストールとかしてみたり。

「生成AIとチャットしたい」

というだけの単純な目先の目標達成のために…

 

とっても簡単にチャットできそうなので早速メッセージを入力。

CPU負荷がかかり動いていそうなのでしばらく待つ…

…反応がないものの、入力ができるのでさらに入力…日本語は通じないのか?とかこのモデルはスルースキルが最大値になってるのかとかいろいろ考えつつ、チャット以外のほかのものも試してみる。 

TTSやら画像生成とか簡単にできそうなので試してみるものの、TTSはなんとなくそれなりのLLMを準備してあげないとだめそうだったのと、画像生成もstablediffusionが必要そうなのでbackendsからモデルをインストールしたものの何やらエラーが。gRPCが失敗したとか。gRPCって何ですか?w

ターミナルのプロセスで動いているようで、再起動は[Ctrl]+Cとかで止まってくれるようなので再起動も行えました。

が、何をやっても節々に出てくる gRPC の文字。

チャットすらできないとか…なんだかなぁ…といろいろとググっても正直よくわからず。

gRPCを実装したものがsnapでインストールできそうなのでインストールしてみたりしたものの本当に良くわからず。困った…。

windowsで言うところのサービスっぽいものだとは思うのだけれども、検索してみてもなんかpythonがどうのとかそんなのしか出てこなくてよくわからん。 

翌日。

もしかして最新のUbuntu Desktop 25.04をインストールしたのがダメだったのかも。長期サポート版のLTS版でなければだめなのかも?とUbuntu Desktop 24.04.2 LTSのイメージをダウンロードしてインストール。 

昨日と同じようなことをいろいろと試してみても結果変わらず。

途方に暮れつつ検索して調べていくとどうやらAI界隈ではUbuntu22が一般的な模様。でも22のインストールイメージとか入手できるのだろうか?とか焦ってしまいましたが、それなりに古いイメージも残されているようで22.0.4のダウンロードすることはできました。 

インストール手順は最新版とあまり違いは無く、サクッとインストールできましたが、セットアップ中のダイアログウィンドウの下5分の1ぐらい画面からはみ出した状態になってしまい、戻る(キャンセル)、次へのボタンがあると想定してTABを駆使しながら何度か行ったり来たりして何とか進めることができました。

起動した後は3度目となるLocalAIのインストールを行い、WebUIからモデルのダウンロードをしていざチャットへ…

ようやく返答がありました。

挨拶などは生成AIに対して無駄しかないみたいな話はありますが、わたしはどうも挨拶から入らないとチャットできない体質らしく…日本語で「こんにちは」とか「はじめまして」から始めました。試しにダウンロードしたモデルはgemma-3-1B-itから。何の設定も行っていない状態で日本語でも素直にまともな返答があったのは正直驚きました。

色々見ていくとgemma3は結構評価は高いようで、かなりまともな会話ができそうでした。

挨拶後の最初の返答速度もそれなり。消費メモリーは最低限の4G程度のWindowsでも余裕で動かせそうな雰囲気です。チャットができたのでTTSや画像生成を試すものの、やはりうまくゆかず。ここでもやはりgRPCがどうのとか出てきます。LocalAIのページを見る限り、DockerAIOというコンテナを使うと一通りそろっているようなので、それを使うのが早そうです。が、まずはいろいろ四苦八苦してなんぼだと思うところもあるのでw

とりあえず目標となる「生成AIとチャットしたい」 まで行き着くことができました。

一番のネックとなっていたのはやはりUbuntuのバージョンのようでした。ただチャット以外でgRPCがなんとかと出てきているので、OSやLocalAIの設定周りを正しく設定できればいいような感じもします。