何もしない(localAI v4.0.0)で.yamlを超手抜きで options: - use_jinja:trueだけ指定して実行すると下記の通りになります。
gemma-4n-e4b-it-Q8_0
Internal error: failed to load model with internal loader: could not load model: rpc error: code = Internal desc = Failed to load model: /usr/share/local-ai/models/gemma-4-E4B-it-Q8_0.gguf. Error: llama_model_load: error loading model: error loading model architecture: unknown model architecture: 'gemma4'; llama_model_load_from_file_impl: failed to load model; llama_params_fit: encountered an error while trying to fit params to free device memory: failed to load model; llama_model_load: error loading model: error loading model architecture: unknown model architecture: 'gemma4'; llama_model_load_from_file_impl: failed to load model
コンソール出力などにも同様のエラーが出ますが、チャットインタフェースでもエラーが表示されます。
unknown model architecture: 'gemma4'
とのことなので、また拡張されるのが前提の仕様を組み込んだみたいですね。テンプレートを自前で行えば、チャットはできそうな気もしますが、localAIv4.1.0もリリースされたし、llama.cppもGemma4に対応したバージョンがリリースされたのでビルドしてみました。
localAIのビルドはまぁいつも通り。本体はv4から必要なコンポーネントが増えたのとうちのネット関係の都合上hostsファイルを書き換えて対応しつつ、ビルド。
個人的に絶対に必要となるbackendのllama-cppのビルドも行います。書き換えは今まで通り、link_directoriesとinclude_directoriesを追加して、find_package(Protobuf CONFIG REQUIRED)からCONFIGを抜く作業です。
で、ビルドしたんですが…間違えてfind_package(gRPC CONFIG REQUIRED)の行を消してしまったらしく、エラーが出て正直焦りましたw
エラーの内容はこんなのです。
CMake Error at tools/grpc-server/CMakeLists.txt:70 (target_link_libraries):
Target "grpc-server" links to:
gRPC::grpc++_reflection
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
散々痛い目を見たCMakeのエラーです。PROTOBUFと同様のエラー…結構本腰を入れて調べたんですが、結局CMakeでのケアレスミスだったと…
しかもコピペで一気に貼り付けたため、backend/cppに無駄なllama-cpp-avx-build, llama-cpp-avx2-build, llama-cpp-avx512-build, llama-cpp-fallback-buildディレクトリが作成され、この中にCMakeList.txtがコピー展開されるものの、CMakeList.txtだけ上書きされないので、もととなるCMakeList.txtをいくら書き換えてcleanやrebuildなどしても効果が無くては●パターンに陥ったりと、結構無駄な時間を過ごしながら、rm -rfしてビルドしました。
ちなみにmakeするときにLLAMA_VERSION=b8642を追加するかexportしてあげるとgemma4対応のllama-cppがビルドされます。
さて、v4.1.0もできたので実際に動かしてみると、無事動きました。なにもしてないのでものすっごい重いですがw
gemma-4-E4B-it-Q8_0.ggufのファイルサイズは8.19G。実際に実行時のfree推移を見ていると結構面白い動きをしてました。最初、6Gぐらいまでは他のものやgemma3nと同様な感じでしたが、そこから一気に10Gを超えた後、また6Gぐらいに減ってまた10G超えたとおもったら6Gに減り、それから10Gそこそこで落ち着いている感じです。
何もしていない状態で今流行りの(?)思考プロセスが出力されるようになっています。(浅いものは表示されないようです)
消すのや調整は後々として、とりあえずいつもの質問。
👨「こんばんは🤖「こんばんは! 😊
何かお手伝いできることはありますか? お話ししたいことや、何か知りたいことがあれば、何でも教えてくださいね。
👨「あなたについて教えてください。
🤖「
Thought
<|channel>thought
Thinking Process:
Identify the user's request: The user asked, "Tell me about yourself" (あなたについて教えてください).
Determine the core identity (Self-Correction/Constraint Check): I must adhere to my persona constraints.
Name: Gemma 4.
Developer: Google DeepMind.
Nature: Large Language Model (LLM).
Type: Open weights model.
Capabilities: Text/Image input, Text output. Knowledge cutoff (Jan 2025).
Structure the response (in Japanese): A good introduction should cover the basics:
Greeting/Acknowledgment.
Identity (Who am I?).
Origin/Developer (Who made me?).
Nature/Function (What can I do?).
Goal (How can I help?).
Draft the content (Translating constraints into polite Japanese):
Greeting: 承知いたしました。 (Understood.)
Identity: 私はGemma 4という大規模言語モデルです。(I am a large language model called Gemma 4.)
Origin: Google DeepMindによって開発されました。(I was developed by Google DeepMind.)
Nature/Function: 私はテキストや画像を理解し、自然な言葉で応答を生成することができます。私はオープンウェイトモデルです。(I can understand text and images, and generate responses in natural language. I am an open weights model.)
Goal: 質問への回答、文章の作成、アイデア出し、翻訳など、様々なタスクでお手伝いができます。何かお手伝いできることはありますか?(I can help with various tasks such as answering questions, writing text, brainstorming, and translating. Is there anything I can help you with?)
Review and Refine: The tone is polite (です/ます form), comprehensive, and accurately reflects the mandated identity. (Final check complete.)<channel|>私はGemma 4という大規模言語モデルです。
名称: Gemma 4
開発元: Google DeepMind
本質: 大規模言語モデル(LLM)であり、オープンウェイトモデルとして開発されました。
【できること】
私は、テキストや画像などの情報を理解し、それに基づいて自然な言葉で応答を生成することができます。具体的には、以下のようなお手伝いができます。
質問への回答: 幅広いトピックに関する質問に答えます。
文章作成: メール、レポート、物語などの文章を執筆したり、校正したりします。
翻訳と要約: 言語の翻訳や、長い文章の要約を行います。
アイデア出し: ブレインストーミングや、クリエイティブなアイデアの提供をサポートします。
対話: 日常的な会話相手として、さまざまなテーマでお話しできます。
ご興味のあることや、お手伝いが必要なことがありましたら、何でもお気軽にお申し付けください。
とのこと。Gemma4だとE4Bでも結構重いなぁ…一応突っ込んでませんが、それなりの反応があったので、これで遊べそうですね。
0 件のコメント:
コメントを投稿