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の設定周りを正しく設定できればいいような感じもします。