言語処理学会の投稿後にモデルの改変(公開可能モデルに変更・学習方法変更)を行ったため、発表した内容とは異なります。そのため、発表内容が再現しないことがありますことをご了解ください。
変更点は以下の3つです。
日本語の医療画像テキスト対データは公開規模が限られているため、本モデルでは既存の英語医療データをもとに、日本語の大規模学習データを構築しました。
全学習データは
MIL-UT/Japanese-Medical-VQA-12mにて公開しています。
1transformers==4.45.1
2accelerate==0.34.2
3torch==2.4.0
4torchvision==0.19.0
1import requests
2import torch
3from PIL import Image
4from transformers import AutoModel, AutoProcessor, GenerationConfig
5
6model_path = "MIL-UT/Med-Asagi-14B-reasoning"
7processor = AutoProcessor.from_pretrained(model_path)
8model = AutoModel.from_pretrained(
9 model_path, trust_remote_code=True,
10 torch_dtype=torch.bfloat16,
11 device_map="auto"
12)
13
14generation_config = GenerationConfig(
15 do_sample=True,
16 num_beams=5,
17 max_new_tokens=512
18)
19
20prompt = ("以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。\n\n"
21 "### 指示:\n<image>\nこの画像を見て、異常所見を述べてください。\n\n### 応答:\n")
22
23# sample image
24sample_image_url = "https://www.ringe.jp/files/civic/20190906/img/02-1.jpg"
25image = Image.open(requests.get(sample_image_url, stream=True).raw)
26
27inputs = processor(
28 text=prompt, images=image, return_tensors="pt"
29)
30inputs_text = processor.tokenizer(prompt, return_tensors="pt")
31inputs['input_ids'] = inputs_text['input_ids']
32inputs['attention_mask'] = inputs_text['attention_mask']
33for k, v in inputs.items():
34 if v.dtype == torch.float32:
35 inputs[k] = v.to(model.dtype)
36inputs = {k: inputs[k].to(model.device) for k in inputs if k != "token_type_ids"}
37
38generate_ids = model.generate(
39 **inputs,
40 generation_config=generation_config
41)
42generated_text = processor.batch_decode(
43 generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False
44)[0]
45
46# do not print the prompt
47if "<image>" in prompt:
48 prompt = prompt.replace("<image>", " ")
49generated_text = generated_text.replace(prompt, "")
50
51print(f"Generated text: {generated_text}")
52
1<description>
2- 画像は腹部の横断CTスキャンです。
3- 肝臓は画像の左側に位置し、右葉に大きく不規則な形状の腫瘤が見られます。
4- その腫瘤は密度が不均一で、低密度領域と高密度領域が混在しています。
5- 腫瘤の周囲の肝実質は比較的均一な密度を示しています。
6- 胃は画像の右側にあり、部分的に内容物が入っています。
7- 脾臓は胃の隣に位置し、均一な密度を示しています。
8- 脊柱は画像の下部中央にあり、椎体と脊髄管が確認できます。
9- 大動脈と下大静脈は脊柱の前方に円形の構造として見えます。
10- 肋骨は画像の周辺部に曲線状の高密度構造として描かれています。
11- 腹腔内に自由液やガスは認められません。
12</description>
13<thinking>
14まず、画像全体を確認すると、肝臓の右葉に大きく不規則な形状の腫瘤が存在することが分かります。この腫瘤は密度が均一でなく、低密度領域と高密度領域が混在しているため、組織構成が不均一であることが示唆されます。腫瘤の周囲の肝実質は比較的均一な密度を保っており、腫瘤自体が肝臓内部に局在していることが確認できます。
15他の臓器(胃、脾臓、脊柱、大動脈・下大静脈、肋骨)はそれぞれ正常な形態と密度で描写されており、特に異常所見は見られません。また、腹腔内に自由液やガスがないことから、急性の腹膜炎や穿孔などの合併症は起きていないと考えられます。
16以上の観察結果から、画像上で最も顕著な異常は肝臓右葉に位置する大きく不規則で密度が不均一な腫瘤であると結論付けられます。
17</thinking>
18答え: 肝臓右葉にある大きく不規則で密度が不均一な腫瘤が画像上の異常所見です。
1@inproceedings{ando2026japanese_medical_vlm,
2 title={医療用大規模日本語視覚言語モデルの構築},
3 author={安道 健一郎 and 黒瀬 優介 and 菊地 智博 and 牧元 久樹 and 小寺 聡 and 小林 和馬 and 合田 和生 and 村尾 晃平 and 吉田 浩 and 田村 孝之 and 合田 憲人 and 喜連川 優 and 原田 達也},
4 booktitle={言語処理学会第32回年次大会},
5 year={2026}
6}