Akira-Isegawa / Akira-Isegawa.github.io

技術系の下調べ帳
0 stars 0 forks source link

生成AI下調べ帳 #1

Open Akira-Isegawa opened 3 months ago

Akira-Isegawa commented 3 months ago

生成AIについて、ソフトウェアエンジニア視点で下記のような問いを立てた。急速に進歩している分野で、全てに完全な答えを出すことはできないだろうが、おおよその見通しが立てられるよう、下調べをしておく。

Akira-Isegawa commented 3 months ago

生成AIの仕組み

Transformerの仕組み

image https://arxiv.org/pdf/1706.03762.pdf

何がイノベーションを起こしたのか

GPTの仕組み

参考:LLM 大規模言語モデル講座 GPT3.5 以降の詳細はよくわからなかったので、上記の学習の仕方については松尾研究所が無償公開しているLLM 大規模言語モデル講座の内容を参考にした。

マルチモーダル

要約すると、下記の3つのサブモデルを内蔵したモデルによって、マルチモーダルを実現

参考: Googel Cloud ブログ マルチモーダル検索とは何か: 「視覚を持った LLM」でビジネスが変わる Stanford CS224N NLP with Deep Learning | 2023 | Lecture 16 - Multimodal Deep Learning, Douwe Kiela

参考資料

Akira-Isegawa commented 3 months ago

生成AIの使い方

主にシステムに組み込んで使っていく際の基礎知識をまとめる。

代表的なモデルとできること

生成AIが得意なタスク

プロンプトエンジニアリング

Prompt Engineering Guideが全般的に詳しい。以下ではそこからよく使う手法をピックアップして紹介する。

設計パターン

これらを設計パターンと言ってよいのかは分からないが、ソフトウェアと生成AIの組み合わせによって、単体では実現できない成果が出たことが報告されている。多くはLangChainに実装されており参考になる。(参考にはなるが、LangChainも急速に進化しているため、仕様が安定しておらず、最新について行くためのメンテナンスが大変な印象。)

生成AI+検索

生成AI+Agent

生成AI+コード実行

embedding

fine-tuning

モデルのベンチマーク

各ベンチマークの特性を知っておけば、どのモデルが何に強いかを大まかに把握できる。また、カスタマイズした際の総合的な性能の評価などに用いることができる。

タスクの性能評価

システムが提供するタスクの性能を維持・改善していくために、適切な評価指標を定めて、定期的に計測・調査を行う必要がある。

生成AIシステムの運用

リスク管理

Akira-Isegawa commented 3 months ago

関わり方

ソフトウェアエンジニアとして、生成AIとどう関わっていけばいいのか?

関わり方のパターンの整理

ソフトウェア(SaaS)業界がどう変わるか?

LLMとプログラミングの終わり

GartnerのCIO向けのイベント

AIによるスタートアップの変化 フルスタック・スタートアップへ

上記を受けて、個人的にはどう考えるか

Akira-Isegawa commented 3 months ago

開発業務での生成AIの活用

使い分け

github copilotの利用方法

実装

ドキュメント作成

github copilot chatの利用方法

セットアップ

コード生成

レビュー・リファクタリング

性能比較

TODO: レビューでの利用については、下記のケースでどれが一番性能がよいかを確認する必要がある

レビューやリファクタリングでの利用シーン

コード変換

リバース・エンジニアリング

(Azure) OpenAI GPTの活用

現状では、github copilotをプログラムから利用するAPIは公開されていないようなので、プログラムで繰り返し処理をしたい場合などは、OpenAIのAPIを利用するのがよいか。(language server経由で呼び出す方法を見つけた人がいるが、公式に保証されたやり方ではなさそう。)

Akira-Isegawa commented 3 months ago

顧客にどういう価値を提供していくか