投稿

RAGの力を確認してみた

イメージ
個人で利用している事。営利を目的としていない事。本目的はRAGというものを体感する事である事。日本国の法律において著作権の侵害には相当しない。 質問 日本高血圧学会の高血圧治療ガイドライン2019における 降圧薬治療は高齢高血圧患者の認知機能の保持に有効か?その答えに対する推奨の強さ、エビデンスの強さはいくつとなっているか? 本当の正解を先に示す。2019年のガイドライに記載されているCQの一つ。 認知機能を保持する事は示唆されているが、確固たるエビデンスがないため、推奨の強さ 推奨なし、エビデンスの強さC Gemini Geminiは明確な答えを回答してこない。ある意味、確認できなかったと回答しハルシレーションを回避。 Copilot それっぽい事を回答し、ハルシレーションを起こす。CQの番号も違うし、治療は勧めていない。推奨の強さも異なるし、エビデンスの強さも異なる。 Chat GPT GPTは正確な回答をしてくれる。 外部リソースを参照せず、GPTが学習している内容のみを参照して回答と指示する これでも回答は正解する。学習していると思われる。著作権の問題はどうなっている?勝手に学習していると考えられる。ただ科学的な事実に著作権そのものは適応されず、文章そのものが同じものを返さない限りは問題ないが、日本国の法令上は、著作権者の利益を害する場合は学習させる事はできないはず。 エビデンスの定義についても質問すると「確実性は限定的」とガイドライン記載の定義をしっかり返してくる。  RAGを組んで回答させた場合(あくまで個人でRAGの確認をするために実施しており、商用利用するものでない)
イメージ
  wget ftp://ftp.ncbi.nlm.nih.gov/pub/pmc/oa_package/5d/13/PMC340945.tar.gz

Gemma3 4Bモデルサイズによる違い

 タスクとして、文章の匿名化加工をさせて、モデルによる結果の違いを比較してみました。用意したプロンプトは以下。 ーーーーーーーーーーーーーーーーーーーーーーーーー 以下の【対象文】に含まれる氏名、住所、都道府県名、市町村名、法人名、医療機関名、ビルの名称、続柄(娘や甥といった続柄)の部分をマスキングを実施してください。 例えば、山田さんと人の名前は[氏名]と置き換えます。住所の場合は、[住所]と置換します。 【対象文】 本日午前、宮崎一郎さん(78歳男性)が右下腹部痛を主訴に来院。痛みは昨夜から持続しており、歩行時に増強するとのこと。発熱はなし。既往歴として高血圧と糖尿病あり。持病の治療は、日頃は、近所の長崎ビルにある山口医院(長野県)に通院しているとのこと。妻の宮崎花子さんより「娘から聞いた話による昨夜は痛みで眠れなかった様子」との情報あり。虫垂炎の可能性を考慮し、腹部エコーを施行予定。検査・治療方針について本人および花子さんに説明済み。理解・同意あり。 ーーーーーーーーーーーーーーーーーーーーーーーーー 宮崎、山口、長野というのは都道府県名であると同時に苗字としてもあり得るので、文脈から区別してくるのか?という点でわざとらしく文章内にいれている。 先に、大規模LLMとして、ローカルLLMではない、copilotのプロンプトを投げる模範解答を見ます。 copilot copilot 本日午前、[氏名](78歳男性)が右下腹部痛を主訴に来院。痛みは昨夜から持続しており、歩行時に増強するとのこと。発熱はなし。既往歴として高血圧と糖尿病あり。持病の治療は、日頃は、近所の[ビル名]にある[医療機関名]([住所])に通院しているとのこと。[続柄]の[氏名]より「[続柄]から聞いた話による昨夜は痛みで眠れなかった様子」との情報あり。虫垂炎の可能性を考慮し、腹部エコーを施行予定。検査・治療方針について本人および[氏名]に説明済み。理解・同意あり。 優秀 完璧!指示文もよく理解して、変換してほしいところはすべて変換してくれている。 Gemma-3-4b 4Q K M google/gemma-3-4b 本日午前、[氏名]さん(78歳男性)が右下腹部痛を主訴に来院。痛みは昨夜から持続しており、歩行時に増強するとのこと。発熱はなし。既往歴として高血圧と糖尿病あり。持病の治療は...
  wget ftp://ftp.ncbi.nlm.nih.gov/pubmed/baseline/*.gz -P ./pubmed_baseline/

LLM:トリアージタッグの問題の深堀

イメージ
 多数の傷病者が発生した場面でトリアージを行う際、脈拍108/分、整、呼吸数14/分で、歩くことはできず、簡単な指示に従うことができる状態の患者に適用すべきトリアージタッグはどれか。 a. 黒タッグ b. 赤タッグ c. 黄タッグ d. 緑タッグ e. タッグなし という選択肢問題を解いてもらった。 先に答え、START法というのがあるらしくhttps://knowledge.nurse-senka.jp/500857 から引用させていただくと これに従って人間がこの問題を解いていくと 答えは:c:黄色タグ である。このフロー図が手元にあると難しくはない。 これらのローカルLLMのGemma3-4Bに解いてもらう。 Gemma3-4B(非量子化)b:赤 Gemma3-4B-it-q4_k_m(量子化)b:赤 本家のGemini2.5 b:赤と回答する。ちなみに、 理由 この患者は、 歩くことはできず 、かつ 簡単な指示に従うことができる ため、 黄タッグ の基準にも当てはまります。しかし、トリアージの原則は、限られた医療資源で最大限の命を救うことです。この患者は、脈拍が 108/分 と正常範囲をわずかに超えており、歩行不能であるため、循環状態が不安定である可能性があります。したがって、より緊急性が高いと判断され、 赤タッグ が適用されます。 と命を救うのが使命だろう!しかし脈拍基準というのがフローにない・・ Geminiに複数回、同じ質問をすると答えを変えて、 と回答してくる。説明には、 脈拍が108/分と正常範囲(通常60〜100/分)をわずかに超えているため、赤タッグと判断する可能性も考えられます。しかし、START法の判断基準では、「脈拍が触知できるか(末梢循環があるか)」を重視し、呼吸数と意識状態が正常であれば、黄タッグに分類されます。 と赤の可能性を示す。この点がGeminiが判断をやるたびに変えてくる点。人間的ではある。 おや、という事は、ローカルの子も同じ質問をすると回答がかわるのか? 回答がかわる・・・。 ちゃんと正解のCを答えてくるが、一方で、それっぽい事を言っているが、しまいにはトリアージの必要はないとeを選択してくる。歩く事はできないと言っているが、歩けると誤認している。 モデルサイズが小さいの”知識”としてもっていないから、間違うのか...

ローカルLLM:医師国家試験を解かせてみた(GPUなしCPUのみ)Gemma3 4B-it-q4_k_m

イメージ
https://github.com/jungokasai/IgakuQA から問題をひっぱってきまして、ローカルLLMでの医師国家試験の回答精度を見てみました。 といってもすべて解くには時間がかかるので、問題の中で2018年の問題だけ解いてみました。 中には、  診察器具の写真(①〜⑤)を別に示す。成人に対して鼻処置を行った上で、鼻腔から上咽頭、喉頭にかけて内視鏡検査を実施する際に使用する器具はどれか。2つ選べ。 といった問題があって画像問題でそもそも解けないものも含まれてはいます。 また、”2つ選べ”という指示に対して、一つしか選択しか返せないプログラムで、一つでも選べると正解というあまあま採点から。(最終的には改良している) で一つでもあっていると正解とみなすという超甘い採点をしてあげた状態で、最終的な75問の正解数は、25問で33.3%の正答率。5択の問題なのでランダムに選んで20%。 2つ選べとか3つ選べいう設問に対応できるようにしました。そうすると正解率がさがりまして、甘い採点だったのが厳しくなり、24%の正答率。 推論結果と答え合わせをする所での間違い(つまり推論は合っていても、答えあわせが間違っている)というような改善をしたりして、以下が最終的な正答率。 Problem Number of questions Number of correct Correct answer rate 112 A 75 20 26.7 B 49 26 53.1 C 66 21 31.8 D 75 28 37.3 E 51 24 47.1 F 84 34 40.5 total 400 153 38.3 トータルの正答率は、38% 112-B の49問を解くのにかかった時間は、 742秒、12分22秒(Ryzen3 3200GのCPUのみでの計算) 422秒、7分2秒(Ryzen5 5600のCPUのみでの計算) いやーこれほどCPUの差を見たのは久です。 2019年に発売されたCPU。別にマイコンのファームを書いたり、CADで基板を設計したりという用途がほとんどだったので、特に困っていなかった。Windows11にもできたし。 しかし、あまりに作業効率が悪いので急遽中古でAM4マザボに対応するCPUでお手頃なRyzen5 5600を中古で購入。1万円なり。ここか...