Closed6

Computer-Using Agent向け日本語VLM「KARAKURI VL」を試す

kun432kun432

https://prtimes.jp/main/html/rd/p/000000122.000025663.html

カスタマーサポートに特化したAIエージェントを提供するカラクリ株式会社(東京都中央区:代表取締役CEO 小田志門、以下カラクリ)は、日本企業として初めて※1 Computer-Using Agent(CUA)モデル「KARAKURI VL」の開発に成功しました。本モデルは、経済産業省・NEDOが推進する「Generative AI Accelerator Challenge(GENIAC)」第2期のプロジェクトを通して、日本のカスタマーサポート現場向けに最適化されたCUAを開発し、日本語画像読解タスクでは国内最高性能※2 を達成いたしました。さらに国際標準ベンチマーク「OSWorld」を日本語環境向けに独自翻訳・改良したベンチマークも開発し、日本語環境でのCUA評価基準を確立しました。

https://x.com/corp_karakuri/status/1942881070292271199

デモがあるようなのだけど、今試したら"500 Internal Error"・・・"

モデルはこちら。InstructモデルとThinkingモデル(experimental)があるみたい。

https://huggingface.co/karakuri-ai/karakuri-vl-32b-instruct-2507

https://huggingface.co/karakuri-ai/karakuri-vl-32b-thinking-2507-exp

GGUF変換されたものがすでにある(いつもお世話になってます)

https://x.com/WMjjRpISUEt2QZZ/status/1942900041582260556

https://x.com/WMjjRpISUEt2QZZ/status/1942900139368317217

kun432kun432

karakuri-ai/karakuri-vl-32b-instruct-2507

Colaboratory A100で。

パッケージインストール

!pip install transformers accelerate qwen-vl-utils[decord]==0.0.8

モデルとプロセッサをロード。

from transformers import AutoModelForImageTextToText, AutoProcessor
from qwen_vl_utils import process_vision_info

model_name = "karakuri-ai/karakuri-vl-32b-instruct-2507"
model = AutoModelForImageTextToText.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_name)

この時点でのVRAM消費は34GB。

出力
Wed Jul  9 15:47:01 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100-SXM4-40GB          Off |   00000000:00:04.0 Off |                    0 |
| N/A   31C    P0             52W /  400W |   34845MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+

サンプルで用意されている画像はこんな感じのものだった。

from IPython.display import Image

url = "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"
Image(url=url, width=700)

では推論。かなり時間がかかるので注意。

messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": url,
            },
            {"type": "text", "text": "この画像について説明して。"},
        ],
    }
]

# 推論の準備
text = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
    text=[text],
    images=image_inputs,
    videos=video_inputs,
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to(model.device)

# 推論: 出力を生成
generated_ids = model.generate(**inputs, max_new_tokens=1024)
generated_ids_trimmed = [
    out_ids[len(in_ids) :]
    for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
    generated_ids_trimmed,
    skip_special_tokens=True,
    clean_up_tokenization_spaces=False
)
print(output_text)

1時間ぐらいでやっと返ってきた・・・出力は配列になってるみたい。

出力
['この画像は、砂浜で女性と犬が一緒にいる様子を捉えています。\n\n### 主な要素:\n1. **場所**:\n   - 画像の背景には海があり、波が打ち寄せているのが見えます。空は明るく、夕日か朝日の光が差し込んでおり、柔らかい雰囲気を作り出しています。\n\n2. **人物**:\n   - 右側に座っている女性がいます。彼女はチェック柄のシャツとカジュアルなズボンを着ており、リラックスした姿勢で地面に座っています。\n   - 彼女の表情は笑顔で、穏やかな気持ちが伝わってきます。\n\n3. **犬**:\n   - 左側には茶色の犬(ラブラドールレトリバーのような種類)が座っています。犬は首輪とハーネスを着用しており、女性に向かって前足を上げて「ハイタッチ」をしているように見えます。\n   - 犬もリラックスした様子で、女性との交流を楽しんでいるようです。\n\n4. **光と影**:\n   - 夕日や朝日の光が砂浜に反射し、暖かみのあるトーンが全体に広がっています。\n   - 女性と犬のシルエットが光によって柔らかく浮かび上がっています。\n\n5. **雰囲気**:\n   - 画像全体からは、穏やかで心地よい雰囲気が感じられます。自然と動物、人との調和が表現されています。\n\n### まとめ:\nこの画像は、砂浜での女性と犬の楽しいひと時を切り取ったもので、自然の美しさと人間と動物の絆を感じさせる内容です。']
print(output_text[0])
出力
この画像は、砂浜で女性と犬が一緒にいる様子を捉えています。

### 主な要素:
1. **場所**:
   - 画像の背景には海があり、波が打ち寄せているのが見えます。空は明るく、夕日か朝日の光が差し込んでおり、柔らかい雰囲気を作り出しています。

2. **人物**:
   - 右側に座っている女性がいます。彼女はチェック柄のシャツとカジュアルなズボンを着ており、リラックスした姿勢で地面に座っています。
   - 彼女の表情は笑顔で、穏やかな気持ちが伝わってきます。

3. ****:
   - 左側には茶色の犬(ラブラドールレトリバーのような種類)が座っています。犬は首輪とハーネスを着用しており、女性に向かって前足を上げて「ハイタッチ」をしているように見えます。
   - 犬もリラックスした様子で、女性との交流を楽しんでいるようです。

4. **光と影**:
   - 夕日や朝日の光が砂浜に反射し、暖かみのあるトーンが全体に広がっています。
   - 女性と犬のシルエットが光によって柔らかく浮かび上がっています。

5. **雰囲気**:
   - 画像全体からは、穏やかで心地よい雰囲気が感じられます。自然と動物、人との調和が表現されています。

### まとめ:
この画像は、砂浜での女性と犬の楽しいひと時を切り取ったもので、自然の美しさと人間と動物の絆を感じさせる内容です。

推論後のVRAMは39GBぐらいになっていた。

出力
Wed Jul  9 16:48:53 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A100-SXM4-40GB          Off |   00000000:00:04.0 Off |                    0 |
| N/A   31C    P0             52W /  400W |   39007MiB /  40960MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
kun432kun432

Thinkingモデルも試そうと思ったけど、上の感じだとめちゃめちゃ時間かかりそうなのでスキップ・・・

kun432kun432

llama.cpp

以下を使用させていただく。環境はUbuntu-22.04・RTX4090。

https://huggingface.co/mmnga/karakuri-vl-32b-instruct-2507-gguf

https://huggingface.co/mmnga/karakuri-vl-32b-thinking-2507-exp-gguf

llama.cppのビルド。確認した時点での最新リリースはb5854だった。

git clone https://github.com/ggml-org/llama.cpp -b b5854 llama.cpp.b5854 && cd $_
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j 8

mmnga/karakuri-vl-32b-instruct-2507-gguf

ではまずInstructモデルで推論。手持ちの以下の画像を使用する。

神戸の風景

デフォルトではQ4_K_Mがダウンロードされる。あと、自分の環境だと60レイヤーぐらいがGPUオフロードの上限だった(最大65レイヤー)

./build/bin/llama-mtmd-cli \
    -hf mmnga/karakuri-vl-32b-instruct-2507-gguf \
    -ngl 60 \
    -p 'この画像について説明して' \
    --image /tmp/kobe.jpg
出力
この画像は、都市の港湾エリアを示しています。以下にその特徴を説明します:

1. **ポートタワー**:
   - 画像の中央に目立つ赤い塔がポートタワーです。これは神戸ポートタワーと呼ばれるもので、神戸市を象徴するランドマークの一つです。
   - この塔は、観光スポットとして知られており、展望台から神戸の街並みや港を一望することができます。

2. **建物**:
   - 塔の周囲にはさまざまな建物が見えます。特に、塔の隣には高層ビルが立っています。
   - これらの建物はオフィスビルや商業施設のようです。

3. **港と水**:
   - 画像の下部には水が見え、これは神戸港を示しています。
   - 港には船が停泊しており、観光船やフェリーが利用されている可能性があります。

4. **天気と空**:
   - 空は青く、天気は晴れています。雲はほとんどなく、明るい日中であることがわかります。

5. **観光船**:
   - 右側には白い観光船が停泊しています。これは神戸港を周遊する観光船のようです。

6. **背景の山**:
   - 左側の背景には山が見えます。これは神戸市周辺の山々の一部でしょう。

この画像は、神戸市ポートタワー周辺の風景を捉えたもので、都市の近代的な景観と自然の要素が調和している様子がうかがえます。


llama_perf_context_print:        load time =   10927.66 ms
llama_perf_context_print: prompt eval time =    2642.68 ms /  1053 tokens (    2.51 ms per token,   398.46 tokens per second)
llama_perf_context_print:        eval time =   24705.19 ms /   387 runs   (   63.84 ms per token,    15.66 tokens per second)
llama_perf_context_print:       total time =   28483.05 ms /  1440 tokens

書籍の画像

出力
この画像は、書籍の表紙を示しています。以下にその詳細を説明します。

### **書籍のタイトル**
- **「ドキュメント・コミュニケーションの全体観」**
- **サブタイトル**
  - 提案書、報告書、会議資料の「質」と「制作スピード」を上げるメカニズム

### **著者**
- 中川邦夫

### **書籍の内容**
- 提案書、報告書、会議資料の作成方法や改善策について、質と制作スピードを向上させるためのメカニズムを説明している書籍です。

### **デザインの特徴**
1. **色使い**
   - 表紙の上部は白で、下部は緑色で構成されています。
   - 緑色の部分には白い文字が使用されており、全体的に清潔感と落ち着いた印象を与えています。

2. **レイアウト**
   - 上部にはタイトルとサブタイトルが大きく表示されています。
   - 中央には「全体観」という大きな文字があり、これが書籍の主題を強調しています。
   - 下部には緑色の部分があり、そこには「コミュニケーションはすべて『解・動・早』で進めよ」というキャッチコピーが書かれています。

3. **図表**
   - 表紙の中央には、円形の図が描かれており、その中に「原則」「技法」「試合運び」「手順」というキーワードが書かれています。
   - これらのキーワードは、書籍で説明される重要な要素を示していると考えられます。

4. **キャッチコピー**
   - 「コミュニケーションはすべて『解・動・早』で進めよ」
   - 「解っていただく・動いていただく・できるだけ早く」
   - これらのフレーズは、効率的で迅速なコミュニケーションの重要性を強調しています。

### **全体の印象**
- この書籍は、ビジネスや職場でのコミュニケーションスキルを向上させるための実用的なガイドブックであることが伺えます。
- デザインはシンプルで、情報が整理されており、読みやすさを重視した構成となっています。
- タイトルやキャッチコピーから、具体的な方法や手順が学べる実践的な内容であることが期待できます。

### **対象読者**
- 提案書や報告書を作成するビジネスパーソン
- 会議資料の作成に携わる人々
- コミュニケーションスキルを向上させたい方

この書籍は、効率的で効果的なコミュニケーションを実現するための具体的なアプローチを提供するものと推測されます。


llama_perf_context_print:        load time =   10933.84 ms
llama_perf_context_print: prompt eval time =    3566.38 ms /  1386 tokens (    2.57 ms per token,   388.63 tokens per second)
llama_perf_context_print:        eval time =   38265.60 ms /   611 runs   (   62.63 ms per token,    15.97 tokens per second)
llama_perf_context_print:       total time =   43050.16 ms /  1997 tokens

架空の請求書の画像

出力
この画像は、請求書の様式を示したものです。以下にその内容を詳細に説明します。

### 1. **請求書のタイトル**
   - **タイトル**: 「御請求書」
   - **請求書番号**: INV-2024-0820

### 2. **発行者情報**
   - **会社名**: 模範商事株式会社
   - **住所**: 〒100-0001 東京都千代田区見本町1-1
   - **電話番号**: 03-1234-5678
   - **FAX番号**: 03-1234-5679
   - **印**: 「之印」(会社の印鑑が押されている)

### 3. **宛先情報**
   - **宛先**: 範例工業株式会社 御中

### 4. **請求内容**
   - **請求項目**: 以下の表に記載されている。
     - **項目**: 特選和紙 (A4サイズ)
       - **数量**: 1,000
       - **単価**: ¥50
       - **金額**: ¥50,000
     - **項目**: 高級墨 (松煙)
       - **数量**: 20
       - **単価**: ¥2,000
       - **金額**: ¥40,000
     - **項目**: 筆セット (各種)
       - **数量**: 50
       - **単価**: ¥1,000
       - **金額**: ¥50,000

### 5. **合計金額**
   - **小計**: ¥140,000
   - **消費税 (10%)**: ¥14,000
   - **合計金額**: ¥154,000

### 6. **備考**
   - **備考**:
     1. お支払いは請求書発行日より30日以内にお願いいたします。
     2. 振込手数料は貴社負担でお願いいたします。
     3. 本書に関するお問い合わせは下記担当者までご連絡ください。

### 7. **担当者情報**
   - **担当**: 営業部 見本 太郎

### 8. **デザインとレイアウト**
   - 背景は白で、斜めのグレーの線が入ったデザイン。
   - 請求書の項目は表形式で整理されており、読みやすくなっています。
   - 合計金額は明確に強調されています。

### 9. **その他の特徴**
   - フォーマルな文書であり、ビジネス文書としてのフォーマットが整っている。
   - 金額や数量が明確に記載されており、計算が正確であることが確認できます。

この請求書は、商品やサービスの提供に対して料金を請求する際に使用される標準的な形式です。


llama_perf_context_print:        load time =   10948.04 ms
llama_perf_context_print: prompt eval time =    2366.34 ms /   979 tokens (    2.42 ms per token,   413.72 tokens per second)
llama_perf_context_print:        eval time =   44331.50 ms /   709 runs   (   62.53 ms per token,    15.99 tokens per second)
llama_perf_context_print:       total time =   47912.65 ms /  1688 tokens
kun432kun432

mmnga/karakuri-vl-32b-thinking-2507-exp-gguf

Thinkingの方も試してみた。ただ、llama-mtmd-cliだとシステムプロンプト渡せない感じなのかな?オプションが見当たらない。

llama-server起動してGUIでやる。

./build/bin/llama-server \
    -hf mmnga/karakuri-vl-32b-thinking-2507-exp-gguf \
    --host 0.0.0.0 \
    -ngl 60

GUIにアクセスして、設定を開く

モデルカードにあるシステムプロンプトを設定して保存

では推論してみる。ただし必ずしも「Thinking」になるわけではない様子。

神戸の風景画像。これはThinkingタグが出力されずに普通の出力に紛れているように思える。

出力
### 思考プロセス:
1. **画像の特徴分析**:
   - 中心には目立つ赤いタワーコーターがあり、その形状からポートタワーであることが推測される。
   - 周囲には高層ビルや現代的な建物が林立しており、都市の繁栄が感じられる。
   - 水面の反射が美しく、穏やかな海が広がっている。
   - 左側には船が停泊しており、港の雰囲気が強調されている。
   - 右側には大きな曲線状の建物があり、現代アートのような外観をしている。

2. **場所の特定**:
   - 赤いタワーとその周辺の建築物の配置から、日本の神戸港であることが推測される。
   - 神戸ポートタワー(ポートアイランドタワー)が画像の中心に位置している。

3. **天気と時間帯**:
   - 空は青く、快晴であることがわかる。
   - 水面の反射が強いことから、太陽が高く昇っている時間帯であると推測される。

4. **観光や活動の可能性**:
   - 港やタワーは観光スポットとして人気があり、多くの観光客が訪れる場所である。
   - 船の接岸場所も見え、クルーズやフェリーの乗船場所である可能性が高い。

### 最終回答:
この画像は、日本神戸港の風景を捉えたものです。中央には特徴的な赤いタワー(神戸ポートタワー)が目立ち、周囲には高層ビルや現代的な建物が林立しています。港には多くの船が停泊しており、穏やかな海が広がっています。右側には大きな曲線状の建物があり、現代アートのような外観をしています。天気は快晴で、太陽が高く昇っている時間帯であることがわかります。この場所は観光スポットとして人気があり、多くの観光客が訪れる場所です。

書籍の表紙画像。何度か繰り返してみたけどThinkingにならなかった。

出力
この画像は、書籍「ドキュメント・コミュニケーションの全体観」の表紙を示しています。以下にその内容を詳細に説明します:

### 1. 書籍のタイトル
- **「ドキュメント・コミュニケーションの全体観」**
- これは、ビジネス文書やプレゼンテーションなどのコミュニケーションツールに関する書籍であることを示唆しています。

### 2. 著者
- **中川邦夫(Nobuoy Nakagawa)**
- 著者は、この分野の専門家である可能性が高いです。

### 3. 内容の概要
- **提案書、報告書、会議資料の「質」と「制作スピード」を上げるメカニズム**
- この書籍は、ビジネス文書の作成方法や効率化に関するノウハウを提供しているようです。

### 4. 画像の構成
- **上部**
  - 書籍のタイトルと著者の名前が大きく表示されています。
- **中央**
  - 「上巻 原則と手順」というセクションがあり、具体的な内容の一部が示されています。
- **下部**
  - 「コミュニケーションはすべて「解・動・早」で進めよ」というキャッチコピーがあり、ビジネス文書の作成において「理解しやすく」、「迅速に」、「適切に」進めることが重要であることを強調しています。

### 5. 色の使用
- **緑色**
  - 書籍の下部に広がる緑色は、信頼感や安定感を象徴している可能性があります。
- **白と灰色**
  - これらの色は、清潔感やシンプルさを表現しており、ビジネス文書の作成というテーマにマッチしています。

### 6. 文字の配置
- **大きな文字**
  - 書籍のタイトルや重要なキャッチコピーは、大きな文字で強調されています。
- **小さな文字**
  - 詳細な情報や補足情報は、小さな文字で配置されています。

### 7. 全体の印象
- この書籍は、ビジネス文書の作成方法や効率化に関する専門書であり、著者である中川邦夫氏がビジネス文書の作成における「質」と「スピード」を重視していることが伺えます。

### 注意点
- 画像の中央付近に「文書を書く技術 図表を描く技術 問題解決力」という部分がありますが、これはおそらく書籍の内容の一部を示しているものと推測されます。

### 結論
この画像は、ビジネス文書の作成方法や効率化に関する書籍「ドキュメント・コミュニケーションの全体観」の表紙を示しており、著者である中川邦夫氏がビジネス文書の作成における「質」と「スピード」を重視していることが伺えます。また、緑色の使用や大きな文字の配置により、信頼感や専門性が強調されています。

架空の請求書の画像。これはThinkingタグが出力された模様。

回答

Thinkingの中身

出力
<think>
この画像は、株式会社範例工業から株式会社模範商事宛に送付された「御請求書」の文書です。以下にその内容を詳細に説明します。

### 1. 送付元と宛先
- **送付元**: 株式会社範例工業(本社:東京都千代田区見本町1-1)
- **宛先**: 株式会社模範商事

### 2. 送付日と請求書番号
- **送付日**: 2024年8月20日
- **請求書番号**: INV-2024-0820

### 3. 請求内容
- **総額**: ¥140,000
- **消費税 (10%)**: ¥14,000
- **合計金額**: ¥154,000

### 4. 商品詳細
- **特選和紙 (A4サイズ)**: 1,000枚、単価¥50、合計¥50,000
- **高級墨 (松煙)**: 20点、単価¥2,000、合計¥40,000
- **筆セット (各種)**: 50点、単価¥1,000、合計¥50,000

### 5. 期日
- **支払い期限**: 請求書発行日より30日以内

### 6. 担当者
- **担当**: 営業部 見本太郎

### 7. 備考
- **備考**: 本請求書の複写は正本の返却をもって破棄すること。なお、本請求書の内容は、当社営業担当者に確認後、本社で決定したものとします。

### 8. メディア情報
- **電話番号**: 03-1234-5678
- **FAX番号**: 03-1234-5679

### 9. その他
- **書類の形式**: 横罫線入りのフォーマットで作成されており、正式なビジネス文書として整えられています。
- **送付日**: 2024年8月20日
- **送付先**: 株式会社模範商事(〒100-0001 東京都千代田区見本町1-1)

### 結論
この請求書は、株式会社範例工業が株式会社模範商事に対して商品の納品に伴う請求を行う文書です。商品の詳細、価格、支払い期限などが明確に記載されており、正式なビジネス文書として作成されています。
</think>

この画像は、株式会社範例工業が株式会社模範商事に対して送付した請求書です。請求書の内容は以下の通りです:

- **請求書番号**: INV-2024-0820
- **総額**: ¥140,000
- **消費税 (10%)**: ¥14,000
- **合計金額**: ¥154,000

### 商品詳細:
- **特選和紙 (A4サイズ)**: 1,000枚、単価¥50、合計¥50,000
- **高級墨 (松煙)**: 20点、単価¥2,000、合計¥40,000
- **筆セット (各種)**: 50点、単価¥1,000、合計¥50,000

### 支払い期限:
- 請求書発行日より30日以内

### 担当者:
- **担当**: 営業部 見本太郎

### 備考:
- 本請求書の複写は正本の返却をもって破棄すること。なお、本請求書の内容は、当社営業担当者に確認後、本社で決定したものとします。

### 送付先情報:
- **送付先**: 株式会社模範商事
- **住所**: 〒100-0001 東京都千代田区見本町1-1
- **電話番号**: 03-1234-5678
- **FAX番号**: 03-1234-5679

この請求書は、商品の納品に伴う請求を正式に行うために作成された文書であり、ビジネス上重要な書類として扱われます。
kun432kun432

まとめ

精度はとても素晴らしい。過去自分が試したことのあるVLMで、日本語文字の読み取りに強いものは他にもあったけど、その中でも精度は一番高そうに思えるし、あと日本の知識も一番多そうな気がする。

サイズはちょっと大きめなので、単純なOCRや画像認識だけが目的ならば、もっと軽量なものがあるのでそちらを使えばいいんじゃないかなと思うのだけど、主たる用途はプレスリリースにもあるようにエージェント、特にPCデスクトップ操作、というところみたいなので、より複雑な用途にも使いたいなら、こちらがオススメになるのではないかと思う。

■KARAKURI VLについて

KARAKURI VLはQwen2.5-VLをベースにして、日本語環境に特化したComputer Using Agent向けのVision Languageモデルです。AWS Trainiumを用いて開発された公開事例の中では世界初※4 のQwen-2.5-VL大規模Vision Languageモデルになります。

本モデルの開発は、日本のカスタマーサポート現場が直面する課題を解決することを目的としています。顧客からの問い合わせに対応しながら、複数のシステムを操作し、マニュアルを参照し、適切な回答を作成するという複雑な業務フローをAIが自動化できるよう設計されました。

ref: https://prtimes.jp/main/html/rd/p/000000122.000025663.html

デモ動画も用意されていた

https://www.youtube.com/watch?v=sGji8XcDdYY&t=34s

このスクラップは2ヶ月前にクローズされました