モデル概要
モデル特徴
モデル能力
使用事例
🚀 medgemma-4b-it GGUFモデル
このモデルは、医療テキストと画像の理解に特化したAIモデルで、医療分野のAIアプリケーション開発を加速するのに役立ちます。
🚀 クイックスタート
モデルのインストール
まず、Transformersライブラリをインストールします。Gemma 3はtransformers 4.50.0以降でサポートされています。
$ pip install -U transformers
モデルの実行
以下は、モデルをGPUでローカル実行するためのコード例です。
基本的な使用法
from transformers import pipeline
from PIL import Image
import requests
import torch
pipe = pipeline(
"image-text-to-text",
model="google/medgemma-4b-it",
torch_dtype=torch.bfloat16,
device="cuda",
)
# Image attribution: Stillwaterising, CC0, via Wikimedia Commons
image_url = "https://upload.wikimedia.org/wikipedia/commons/c/c8/Chest_Xray_PA_3-8-2010.png"
image = Image.open(requests.get(image_url, headers={"User-Agent": "example"}, stream=True).raw)
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are an expert radiologist."}]
},
{
"role": "user",
"content": [
{"type": "text", "text": "Describe this X-ray"},
{"type": "image", "image": image}
]
}
]
output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])
高度な使用法
# pip install accelerate
from transformers import AutoProcessor, AutoModelForImageTextToText
from PIL import Image
import requests
import torch
model_id = "google/medgemma-4b-it"
model = AutoModelForImageTextToText.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
processor = AutoProcessor.from_pretrained(model_id)
# Image attribution: Stillwaterising, CC0, via Wikimedia Commons
image_url = "https://upload.wikimedia.org/wikipedia/commons/c/c8/Chest_Xray_PA_3-8-2010.png"
image = Image.open(requests.get(image_url, headers={"User-Agent": "example"}, stream=True).raw)
messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are an expert radiologist."}]
},
{
"role": "user",
"content": [
{"type": "text", "text": "Describe this X-ray"},
{"type": "image", "image": image}
]
}
]
inputs = processor.apply_chat_template(
messages, add_generation_prompt=True, tokenize=True,
return_dict=True, return_tensors="pt"
).to(model.device, dtype=torch.bfloat16)
input_len = inputs["input_ids"].shape[-1]
with torch.inference_mode():
generation = model.generate(**inputs, max_new_tokens=200, do_sample=False)
generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)
✨ 主な機能
- 医療分野特化: MedGemmaは医療テキストと画像の理解に特化したモデルで、医療AIアプリケーションの開発を加速します。
- 多様なバリエーション: 4Bマルチモーダルバージョンと27Bテキスト専用バージョンがあり、用途に応じて選択できます。
- 高度な画像エンコーダ: 4Bバージョンは、様々な医療データで事前学習されたSigLIP画像エンコーダを利用しています。
📦 インストール
上述のクイックスタートセクションを参照してください。
📚 ドキュメント
モデル生成詳細
このモデルは、llama.cpp のコミット f5cd27b7
を使用して生成されました。
超低ビット量子化(IQ-DynamicGate、1 - 2ビット)
最新の量子化方法は、超低ビットモデル(1 - 2ビット)に対して「精度適応型量子化」を導入しており、Llama-3-8B でのベンチマークで改善が実証されています。このアプローチは、レイヤーごとの戦略を使用して、極限のメモリ効率を維持しながら精度を維持します。
ベンチマークのコンテキスト
すべてのテストは、Llama-3-8B-Instruct を使用して行われました。
- 標準のパープレキシティ評価パイプライン
- 2048トークンのコンテキストウィンドウ
- すべての量子化で同じプロンプトセット
方法
- 動的精度割り当て:
- 最初/最後の25%のレイヤー → IQ4_XS(選択されたレイヤー)
- 中央の50% → IQ2_XXS/IQ3_S(効率を向上)
- 重要コンポーネント保護:
- エンベディング/出力レイヤーはQ5_Kを使用
- 標準の1 - 2ビット量子化と比較して、エラー伝播を38%削減
量子化性能比較(Llama-3-8B)
量子化 | 標準PPL | DynamicGate PPL | ΔPPL | 標準サイズ | DGサイズ | Δサイズ | 標準速度 | DG速度 |
---|---|---|---|---|---|---|---|---|
IQ2_XXS | 11.30 | 9.84 | -12.9% | 2.5G | 2.6G | +0.1G | 234s | 246s |
IQ2_XS | 11.72 | 11.63 | -0.8% | 2.7G | 2.8G | +0.1G | 242s | 246s |
IQ2_S | 14.31 | 9.02 | -36.9% | 2.7G | 2.9G | +0.2G | 238s | 244s |
IQ1_M | 27.46 | 15.41 | -43.9% | 2.2G | 2.5G | +0.3G | 206s | 212s |
IQ1_S | 53.07 | 32.00 | -39.7% | 2.1G | 2.4G | +0.3G | 184s | 209s |
キー:
- PPL = パープレキシティ(低いほど良い)
- ΔPPL = 標準からDynamicGateへのパープレキシティの変化率
- 速度 = 推論時間(CPU avx2、2048トークンコンテキスト)
- サイズの違いは混合量子化のオーバーヘッドを反映
主な改善点:
- IQ1_M は、パープレキシティを43.9%大幅に削減(27.46 → 15.41)
- IQ2_S は、0.2GBのサイズ増加でパープレキシティを36.9%削減
- IQ1_S は、1ビット量子化でありながら、精度を39.7%向上
トレードオフ:
- すべてのバリアントは、わずかなサイズの増加(0.1 - 0.3GB)があります。
- 推論速度はほぼ同等(5%以内の差)
これらのモデルを使用するタイミング
- GPU VRAMにモデルを収める場合
- メモリ制約のあるデプロイメント
- CPUやエッジデバイスで、1 - 2ビットのエラーを許容できる場合
- 超低ビット量子化の研究
適切なモデル形式の選択
正しいモデル形式の選択は、ハードウェア能力とメモリ制約に依存します。
BF16(Brain Float 16) - BF16アクセラレーションが利用可能な場合に使用
- 高速な計算を目的とした16ビット浮動小数点形式で、良好な精度を維持します。
- FP32と同様のダイナミックレンジを提供しながら、メモリ使用量を削減。
- ハードウェアがBF16アクセラレーションをサポートしている場合に推奨(デバイスの仕様を確認)。
- FP32と比較して、メモリ使用量を削減しながら、高性能な推論に適しています。
BF16を使用する場合:
- ハードウェアがネイティブのBF16サポートを持っている場合(例: 新しいGPU、TPU)
- メモリを節約しながら、より高い精度が必要な場合
- モデルを別の形式に再量子化する予定の場合
BF16を避ける場合:
- ハードウェアがBF16をサポートしていない場合(FP32にフォールバックし、低速になる可能性があります)
- BF16最適化を持たない古いデバイスとの互換性が必要な場合
F16(Float 16) - BF16よりも広くサポートされている
- 16ビット浮動小数点形式で、BF16よりも値の範囲が狭いが、高い精度を持っています。
- FP16アクセラレーションをサポートするほとんどのデバイスで動作します(多くのGPUや一部のCPUを含む)。
- BF16よりもわずかに低い数値精度ですが、一般的に推論には十分です。
F16を使用する場合:
- ハードウェアがFP16をサポートしているが、BF16をサポートしていない場合
- 速度、メモリ使用量、精度のバランスが必要な場合
- FP16計算に最適化されたGPUや他のデバイスで実行している場合
F16を避ける場合:
- デバイスがネイティブのFP16サポートを持っていない場合(予想よりも低速になる可能性があります)
- メモリ制限がある場合
量子化モデル(Q4_K、Q6_K、Q8など) - CPUと低VRAM推論用
量子化は、モデルサイズとメモリ使用量を削減しながら、できるだけ精度を維持します。
- 低ビットモデル(Q4_K) - 最小限のメモリ使用量に最適ですが、精度が低くなる可能性があります。
- 高ビットモデル(Q6_K、Q8_0) - より高い精度を提供しますが、より多くのメモリが必要です。
量子化モデルを使用する場合:
- CPUで推論を実行し、最適化されたモデルが必要な場合
- デバイスのVRAMが少なく、フル精度モデルをロードできない場合
- 適度な精度を維持しながら、メモリ使用量を削減したい場合
量子化モデルを避ける場合:
- 最大精度が必要な場合(フル精度モデルの方が適しています)
- ハードウェアに十分なVRAMがあり、より高精度の形式(BF16/F16)が使用できる場合
超低ビット量子化(IQ3_XS、IQ3_S、IQ3_M、Q4_K、Q4_0)
これらのモデルは、極限のメモリ効率に最適化されており、低電力デバイスや大規模デプロイメントでメモリが重要な制約となる場合に最適です。
- IQ3_XS: 超低ビット量子化(3ビット)で、極限のメモリ効率を実現します。
- 使用ケース: Q4_Kでも大きすぎる超低メモリデバイスに最適。
- トレードオフ: 高ビット量子化と比較して、精度が低い。
- IQ3_S: 最小ブロックサイズで、最大のメモリ効率を実現します。
- 使用ケース: IQ3_XSが過度に制限的な低メモリデバイスに最適。
- IQ3_M: 中ブロックサイズで、IQ3_Sよりも精度が高い。
- 使用ケース: IQ3_Sが制限的すぎる低メモリデバイスに適しています。
- Q4_K: 4ビット量子化で、ブロック単位の最適化により精度を向上。
- 使用ケース: Q6_Kでは大きすぎる低メモリデバイスに最適。
- Q4_0: 純粋な4ビット量子化で、ARMデバイス用に最適化。
- 使用ケース: ARMベースのデバイスまたは低メモリ環境に最適。
- より高い精度が必要な場合は、IQ4_NLを選択してください。
モデル形式選択の概要表
モデル形式 | 精度 | メモリ使用量 | デバイス要件 | 最適な使用ケース |
---|---|---|---|---|
BF16 | 最高 | 高 | BF16サポートのGPU/CPU | メモリを削減した高速推論 |
F16 | 高 | 高 | FP16サポートのデバイス | BF16が利用できない場合のGPU推論 |
Q4_K | 中低 | 低 | CPUまたは低VRAMデバイス | メモリ制約のある環境に最適 |
Q6_K | 中 | 中程度 | より多くのメモリを持つCPU | 量子化されたままで、より高い精度 |
Q8_0 | 高 | 中程度 | 十分なVRAMを持つCPUまたはGPU | 量子化モデルの中で最も高い精度 |
IQ3_XS | 非常に低 | 非常に低 | 超低メモリデバイス | 極限のメモリ効率と低い精度 |
Q4_0 | 低 | 低 | ARMまたは低メモリデバイス | llama.cppはARMデバイス用に最適化できます |
含まれるファイルと詳細
medgemma-4b-it-bf16.gguf
- モデルの重みがBF16で保存されています。
- モデルを別の形式に再量子化したい場合に使用します。
- デバイスがBF16アクセラレーションをサポートしている場合に最適。
medgemma-4b-it-f16.gguf
- モデルの重みがF16で保存されています。
- デバイスがFP16をサポートしている場合、特にBF16が利用できない場合に使用します。
medgemma-4b-it-bf16-q8_0.gguf
- 出力とエンベディングはBF16のままです。
- 他のすべてのレイヤーはQ8_0に量子化されています。
- デバイスがBF16をサポートし、量子化バージョンが必要な場合に使用します。
medgemma-4b-it-f16-q8_0.gguf
- 出力とエンベディングはF16のままです。
- 他のすべてのレイヤーはQ8_0に量子化されています。
medgemma-4b-it-q4_k.gguf
- 出力とエンベディングはQ8_0に量子化されています。
- 他のすべてのレイヤーはQ4_Kに量子化されています。
- CPU推論でメモリが制限されている場合に適しています。
medgemma-4b-it-q4_k_s.gguf
- 最小のQ4_Kバリアントで、精度を犠牲にしてメモリ使用量を削減します。
- 非常に低いメモリのセットアップに最適。
medgemma-4b-it-q6_k.gguf
- 出力とエンベディングはQ8_0に量子化されています。
- 他のすべてのレイヤーはQ6_Kに量子化されています。
medgemma-4b-it-q8_0.gguf
- 完全にQ8に量子化されたモデルで、より高い精度を提供します。
- より多くのメモリが必要ですが、より高い精度を提供します。
medgemma-4b-it-iq3_xs.gguf
- IQ3_XS量子化で、極限のメモリ効率に最適化されています。
- 超低メモリデバイスに最適。
medgemma-4b-it-iq3_m.gguf
- IQ3_M量子化で、中ブロックサイズにより精度を向上。
- 低メモリデバイスに適しています。
medgemma-4b-it-q4_0.gguf
- 純粋なQ4_0量子化で、ARMデバイス用に最適化。
- 低メモリ環境に最適。
- より高い精度が必要な場合は、IQ4_NLを選択してください。
モデルのテストについて
もしこれらのモデルが役に立った場合は、「いいね」をクリックしてください!また、量子対応のセキュリティチェックを備えたAI駆動のネットワークモニターアシスタントのテストにご協力ください。 無料のネットワークモニター
テスト方法
AIアシスタントのタイプを選択します。
TurboLLM
(GPT-4o-mini)HugLLM
(Hugginfaceオープンソース)TestLLM
(実験的なCPU専用)
テスト内容
AIネットワークモニタリングのための小規模オープンソースモデルの限界を追求しています。具体的には、
- ライブネットワークサービスに対する関数呼び出し
- モデルが次のタスクを処理しながら、どれだけ小さくできるか:
- 自動化されたNmapスキャン
- 量子対応チェック
- ネットワークモニタリングタスク
TestLLM - 現在の実験的モデル(2つのCPUスレッドでのllama.cpp)
- ゼロコンフィギュレーションセットアップ
- 30秒のロード時間(低速な推論ですが、APIコストがかからない)
- 協力を求めています! エッジデバイスAIに興味がある方、一緒に協力しましょう!
その他のアシスタント
- TurboLLM - gpt-4o-miniを使用して:
- Free Network Monitor Agentsで.netコードを実行するカスタムコマンドプロセッサを作成
- リアルタイムネットワーク診断とモニタリング
- セキュリティ監査
- ペネトレーションテスト (Nmap/Metasploit)
- ログインするか、統合AIアシスタント付きの無料ネットワークモニターエージェントをダウンロードすることで、より多くのトークンを取得できます。
- HugLLM - 最新のオープンソースモデル:
- Hugging Face Inference APIで実行
テストできるコマンドの例
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a comprehensive security audit on my server"
- '"Create a cmd processor to .. (what ever you want)" このコマンドを実行するには、無料のネットワークモニターエージェントをインストールする必要があります。これは非常に柔軟で強力な機能です。注意して使用してください!
モデル情報
説明
MedGemmaは、Gemma 3のバリアントであり、医療テキストと画像の理解に特化して訓練されています。開発者は、MedGemmaを使用して、医療ベースのAIアプリケーションの構築を加速できます。MedGemmaには現在、2つのバリアントがあります。4Bマルチモーダルバージョンと27Bテキスト専用バージョンです。
MedGemma 4Bは、SigLIP画像エンコーダを利用しており、胸部X線、皮膚科画像、眼科画像、組織病理学スライドなど、さまざまな匿名化された医療データで事前学習されています。そのLLMコンポーネントは、放射線画像、組織病理学パッチ、眼科画像、皮膚科画像など、多様な医療データで訓練されています。
MedGemma 4Bは、事前学習済み(接尾辞: -pt
)と命令調整済み(接尾辞 -it
)の両方のバージョンで利用可能です。命令調整済みバージョンは、ほとんどのアプリケーションに最適なスタート地点です。事前学習済みバージョンは、モデルをより深く実験したい人に利用可能です。
MedGemma 27Bは、医療テキストのみで訓練され、推論時の計算が最適化されています。MedGemma 27Bは、命令調整済みモデルとしてのみ利用可能です。
MedGemmaのバリアントは、臨床的に関連する一連のベンチマークで評価され、ベースライン性能が示されています。これには、オープンベンチマークデータセットとキュレートされたデータセットの両方が含まれます。開発者は、MedGemmaのバリアントを微調整して、性能を向上させることができます。詳細については、以下の「意図された使用法」セクションを参照してください。
完全な技術レポートは近日公開予定です。
モデルアーキテクチャの概要
MedGemmaモデルは、Gemma 3をベースに構築されており、Gemma 3と同じデコーダ専用トランスフォーマーアーキテクチャを使用しています。アーキテクチャの詳細については、Gemma 3のモデルカードを参照してください。
技術仕様
属性 | 详情 |
---|---|
モデルタイプ | デコーダ専用トランスフォーマーアーキテクチャ、Gemma 3技術レポートを参照 |
モダリティ | 4B: テキスト、ビジョン;27B: テキストのみ |
アテンションメカニズム | グループ化クエリアテンション(GQA)を利用 |
コンテキスト長 | 少なくとも128Kトークンの長いコンテキストをサポート |
主要な公開論文 | 近日公開 |
モデル作成日 | 2025年5月20日 |
モデルバージョン | 1.0.0 |
引用
技術レポートは近日公開予定です。それまでの間、このモデルを使用して公開する場合は、Hugging Faceのモデルページを引用してください。
@misc{medgemma-hf,
author = {Google},
title = {MedGemma Hugging Face},
howpublished = {\url{https://huggingface.co/collections/google/medgemma-release-680aade845f90bec6a3f60c4}},
year = {2025},
note = {Accessed: [Insert Date Accessed, e.g., 2025-05-20]}
}
入力と出力
入力:
- テキスト文字列、例えば質問やプロンプト
- 画像
📄 ライセンス
このモデルの使用には、Health AI Developer Foundationの利用規約に同意する必要があります。Hugging FaceでMedGemmaにアクセスするには、ログインして以下のボタンをクリックしてください。リクエストは即座に処理されます。 利用規約を承認








