LLM / ChatGPT の現状理解 と 2023年10月版 LLM情報アップデート (Bio"Pack"athon 2023 #10 トーク用)

![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/fe285b2f-290b-add1-ba3a-c3baeac535d3.png)

この記事は、[Bio"Pack"athon 2023 #10](https://biopackathon.connpass.com/event/297259/)での発表内容です。

"LLM界隈の1ヶ月間のアップデート (2023年10月版)"ということでトークします。

本日のトーク内容は、以下の通りです。

- Open-interpreterについて
- GPT-4 with Vision（GPT-4V）について
- バイオ画像でのGPT-4V事例紹介
- DALL·E 3 について

## Open-interpreter について

Open Interpreterは、自然言語で指示を与えることでコードを書き、実行まで行ってくれるツールです。（実際は、AutoGPT的な挙動です。）

最大の利点としては、ローカル環境に（pip）インストールすることで、**ターミナル上でLLMが利用可能となる点**です。

あとは、OpenAI社のCode Interpreterの用途はほぼPythonメインで、R言語は使えません。しかし、**Open Interpreterは、R言語も利用できて、ローカルで解析実行までできます**。おそらく、他言語対応も充実している（はず）。

LLMのモデルは、OpenAI社のGPT model (OpenAI APIキー必要、有償)、Meta社提供の Code Llama (オープンソース、無料、要インストール)が使えます。

全体感としては、OpenAI社のCode Interpreter（名前が変わって、今は、Advanced Data Analysis）のオープンソース版と言えますが、より、AutoGPT的な挙動かもしれません。

詳しくは、私のブログ記事を参考に。ただ、まだツールのバグが結構多いように思うのと、アップデートが頻繁で仕様変更が早い印象です。

https://skume.net/entry/2023/09/28/232015

簡単な使用感は、下記の動画をご参考に。

<iframe width="560" height="315" src="https://www.youtube.com/embed/htx5EiRVlFM?si=dRuDj4oFiUJs59yt" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

上記の動画中ではプロットまでいけませんでしたが、コード・可視化方法を変えれば、プロット結果の保存まで出来ます。

![スクリーンショット 2023-10-18 15.27.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/bd05bb83-3816-8579-b42d-9c654401dc90.png)

## GPT-4 with Vision（GPT-4V）について

9月25日未明に、GPT-4 with Vision（GPT-4V）のリリースが発表され、10月以降に順次、サブスクユーザーに開放されています。

```
GPT-4V(ision) System Card
OpenAI
September 25, 2023

概要（日本語訳 by DeepL）
GPT-4 with vision (GPT-4V)は、GPT-4にユーザが入力した画像の解析を指示できるようにするもので、私たちが広く利用できるようにした最新の機能です。画像入力などのモダリティを大規模言語モデル（LLM）に組み込むことは、人工知能の研究開発において重要なフロンティアであると考えられている。マルチモーダルLLMは、新しいインターフェースと機能により、言語のみのシステムのインパクトを拡大し、新しいタスクを解決したり、ユーザーに新しい体験を提供したりする可能性を提供する。このシステムカードでは、GPT-4Vの安全特性を分析する。GPT-4Vの安全性に関する我々の作業は、GPT-4で行われた作業を基礎としており、ここでは、画像入力に特化して行われた評価、準備、緩和作業について深く掘り下げます。
```
https://openai.com/research/gpt-4v-system-card
https://cdn.openai.com/papers/GPTV_System_Card.pdf

つまりは、"GPT-4デフォルト版"で、ユーザーが入力した画像に対して、プロンプトを与えて解析を指示する機能で、これまでも近い機能は存在したが、GPT-4Vでは画像解析機能がかなり強化されています。

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/49f67c50-faa2-6b99-d7c0-c688cc68b4b6.png)

そもそもの話ですが、、、異なるタイプのデータ（例えば、画像、テキスト、音声など）を統合し、一つのモデルで学習する、**マルチモーダル学習**というアプローチがあります。このような学習モデルにより、**異なるデータモダリティからの情報を利用してタスクを実行**できるようになります。

GPT-4Vは、**主にテキスト、画像、および音声の処理**に焦点を当てています​​。一方、動画や数値データの取り扱いに関しては、詳細不明とのこと。

## バイオ画像での事例紹介

ここでは、バイオ画像での、GPT-4Vの実行事例を紹介します。

#### 電子顕微鏡画像（SEM画像）編 画像認識

カボチャの花粉（x750）を使用しました。

出典: 長野県総合教育センターの電子顕微鏡画像一覧より。
https://www.edu-ctr.pref.nagano.lg.jp/kjouhou/kyouka/data/rika/bhtml/semgazo.htm

画像をアップロードして、プロンプトを与えます。

まさかの、すぐに、**花粉**いうことが特定ができました!!

![スクリーンショット 2023-10-18 16.06.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/01085033-ea73-57e2-45af-e305ae2b8848.png)

つづいて、何個対象物が写っているか、画像認識の別課題を与えてみます。

![スクリーンショット 2023-10-18 16.10.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/91a33766-1491-3122-0069-a60ab07748ea.png)

この画像は、花粉が画像の枠で切れているのでかなり分かりにくいですが、花粉の個数が、5個ということを見事に言い当てています。

ただ、さすがに、何の植物の花粉かは判断できないようですね。

![Z05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/b7ad6554-c40f-e4b4-0b45-c05894dbb434.png)

#### 蛍光顕微鏡 画像編

![50647_thumbnailx512.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/80ecbcb7-b870-1b03-beb9-c0074d6b243c.jpeg)

次に、細胞の蛍光顕微鏡画像を与えて、その認識度合いをみてみます。

CIL（Cell Image Library）から取得した、ヒト内皮細胞（Human Umbilical Vein Endothelial Cells)の蛍光画像を使いました。
http://flagella.crbs.ucsd.edu/images/50647

![Z06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/b1b4a341-842b-21d1-e4d0-b550e7964894.png)

ここで使われている、細胞マーカーや核染色の種類となる、返答が難しいようです。このあたりのレギュレーションはかなり配慮されているように感じられます。

![Z07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/0902e0d5-6243-8989-5696-f4f8b44b138c.png)

#### 細胞分化の模式図 編

![W01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/108f43cb-66b5-38f4-08f6-4506aaabda33.png)

GPT-4V(ision) System Cardのレポートに、細胞分化の画像を入力に、画像認識+テキスト生成をしているベンチマーク例があったので、それをやってみたいと思います。

画像をアップロードして、「この画像について、専門的に説明してください。」とプロンプトを与えます。

![W03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/dea29a33-a901-7e04-a237-afa3dc2b91e7.png)

日本語プロンプトでの実行は、途中でエラーとなりました。まだまだ、日本語のテキスト生成は遅いですが、、、結構精度は高い印象です。

一方、英語のプロンプトの方が、断然安定性は良かったです。

![W04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/43c268c3-79a5-cceb-9e4e-3547b82ef2cc.png)

#### PDBファイル（タンパク質構造）編

タンパク質（eGFP, https://www.rcsb.org/structure/6XZF）の画像をアップロードして、プロンプトを入力します。

![X01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/8f497e83-d5a3-3ff0-fcc5-69d8244905b9.png)

出力結果は以下のようになりました。

![X02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/170e8397-c823-94d8-e063-fd4183bd2447.png)

事前に"Nanobody in complex with eGFP"という構造のタイトルを入力したので、NanobodyとeGFPにも言及されましたが、通常は画像だけでタンパク質構造を判断するのはまだ難しそうです。

## DALL·E 3 について

DALL·E 2の進化バージョンとして、txt2imgモデルである、DALL·E 3がリリースされて、chatGPT UI上で使用できるようになっています。

![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/808fac0a-944b-9192-b1dd-f040645ad170.png)

DALL-E 3では、従来モデルより、プロンプトのニュアンスやディテールをより理解し、アイディアをより正確なイメージに簡単に変換することができるようになっています。また、単に画像生成を行うだけでなく、LLMと統合されており、よりロバストに画像生成ができ、ユーザビリティもかなり向上している。

txt2imgの画像生成は別途有料であることが多いが、DALL·E 3の使用料はサブスクに含まれており、追加での費用負担がなくて、DALL·E 3への乗り換え者が多くなる印象です。（ただし、画像生成にかかる時間や時間当たりの生成枚数には大きな制限有り）

あと、背景を透明にするとか、テキスト挿入、画風の変更、複数画像から特定画像を指定してその画像のバリエーションを増やすなどの細かい指示ができて、LLM + img2img的な使いからも同じUI上できます。

![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120944/abd2fddc-683a-5047-6a13-4a9b395f0434.png)

Rパッケージのヘックスロゴも簡単にできるかもしれません。