投稿

実験用DC電源プロジェクト(2)マイコンの準備

イメージ
実験用の電源を自作しようというプロジェクトの続き。  最初に設定した仕様の一つ、”単体の電源としても使えるが、PCからUSB経由で接続すれば、PCのプログラムで制御し動かせるようにする。また、PCから電流、電圧ともに取得できるようにする。” なのでマイコンを選定して、動かすようにする。ベアな ATMEGA328Pを買ってきてArduinoの最小構成を作るってもの。 今までもやった事があるが備忘録かねて。 マイコン選定 手元にあるICのマイコンの候補は以下。  CH32V003F4P6 :32ビットRISC-Vマイコン。秋月価格で60円と安価。基本なんでもこれで作っている愛用品。 https://akizukidenshi.com/goodsaffix/CH32V003.pdf ATMEGA328P-AU :おのずと知られたArduinoNanoに使われているマイコン。以外と高い。秋月価格で410円。 https://akizukidenshi.com/goodsaffix/atmega48-88-168-328_A_P_PA.pdf ATMEGA328PB-AU :上の328Pの後継機種。機能は同じなのに、値段はこちらの方が安い。秋月価格240円。328Pはディスコンが近いのでプレミアム価格が載ってきていて高くつくので、乗り換え用に手元に所有。 https://akizukidenshi.com/goodsaffix/ATMEGA328PB.pdf 今回は、OLED等で電圧、電流を電源として表示する機能を搭載したいし・・かっこよく作りたいと思っているので、悩んだが、メモリが16kBのCH32より、32kBで少し余裕がありながらも低価格のATMEGA328PB-AUを選択。 ATMEGA328PB-AUへのファーム書き込み ブレッドボードで動かすために、32ピンQFP変換基板( https://akizukidenshi.com/catalog/g/g109581/ )に半田で固定するところから。 マイコンのプログラムは横着してarduinoで済ませたいので、ファームを書き込む。 ファーム書き込みのやり方は、いろいろ検索すると出てくるから割愛するが、ざっくりArduinoNanoを使って書き込みの手順は以下。詳細は専門のページに任せて・・・ Mini...

実験用DC電源プロジェクト(1)基本動作確認

イメージ
 安定化電源を自作しようというプロジェクト 【目指す仕様】 ・ブレッドボードで使うレベルで取り出せる電流はMax1A ・可変できる電圧範囲は0-10V程度 8とか9Vでも十分。しかし、必ずゼロボルトからスイングできるようにする。 ・また市販の実験用の電源と同じく、CC,CVモードを完備する。 ・出力している電圧、電流をモニターして表示する。 ・単体の電源としても使えるが、PCからUSB経由で接続すれば、PCのプログラムで制御し動かせるようにする。また、PCから電流、電圧ともに取得できるようにする。 といったものをめざす。 【LT3080】 ゼロボルトからという点にこだわると可変レギュレーターの中でも、よく使われるLT3080を選択する事とした。文献も多くて作りやすいと思ったから。秋月で入手性もよいのも理由。 【テスト回路の作成①】 データシートに載っているこの回路を全くそのままブレッドボードに。 15uFの電解コンデンサーが手元になかったので22uF(50V)を利用、それ以外は上の構成ならびに、抵抗等の値は同じ。 LT3080Tは、5本のリードが出ているTO-220。ブレッドボードにそのまま刺す事ができない。かと言ってテストで半田してユニバーサル基板に組んでしまうと、一つ750円もする結構お高めなレギュレーター。そこで、 https://akizukidenshi.com/catalog/g/g112264/ XHコネクタのコンタクト端子に抵抗の足の金属を取り付け、LT3080Tの足に刺す事で電気的コンタクトを取るようにする事で配線を行った。 これでも配線が最短になるようには気を使ってはいる。 入力には、ACアダプター(WiiのACアダプターを電源ジャックにしたもの)から12Vを取得し入力。 【テスト回路:CV 電圧出力】 まず、負荷抵抗に10kΩの抵抗を付けて、電圧の範囲を調べる。 1MΩ側の可変抵抗を回してあげて、下限と上限を調査する。 この構成では0.3V~9.7Vの範囲で調整ができた。 下0.3Vの方は、負荷に最低電流0.5mAは流れないと出力をしない。0.3mAぐらいまでは出力するよう。(この点は、ゼロからできるようにと後ほど対策をする予定) 上は入力を12Vとしているが、CCのLT3080を超えた時点でVinが1.3V降下するので、2段で2.6V...

ストレージの追加(転送速度)

イメージ
 NVMe PCIe Gen.3 x4 110mm M.2 (最大 32 Gb/s) SSD 【ADATA】 SSD SU650 960GB SATA 6Gb/secのSATA3にて接続。SSDのスペック通りの数字。 HDD USB3.0経由 ST4000VX015-3CU104 : 4000.7 GB

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を選択してくる。歩く事はできないと言っているが、歩けると誤認している。 モデルサイズが小さいの”知識”としてもっていないから、間違うのか...