生成AIの使いどころを見極める
https://gyazo.com/e39d894b82e8bec7a3d660c10f445149
こんばんは
Helpfeel アーキテクト
過去の登壇資料や書籍など
機械学習は大学で少しかじった程度
サポートベクターマシン
グラフ構造データの欠落ノード補完など
深層学習以降の話も追いかけているが詳しくはない
ChatGPT、熱いですね
ここ最近は毎日何かしらツイートしている
Current status: やっぱりよく分からん期に再突入
https://gyazo.com/23e9df34ef2690f7e2ae22af3b3e2509 https://twitter.com/daizplus/status/1639801045558919168
何卒しばらくお付き合いください!
ちょっとテンション高すぎるかもしれない、毎晩反省している
テンション高い話といえば
参加者がお昼ごはんを食べている部屋で1時間くらい高速に話している
https://gyazo.com/d889c6986f2a7256864625c4c6f760e1
生成AIの使いどころを見極めたい
実際のところいまも模索中
今日時点での温度感をそのまま共有したい
直接的なプロダクトの話は少ないけれど
プロダクトを作るのはわれわれ開発者
開発者が試行錯誤してコツを掴むことは製品のうまい進化につながるはず
という視点から
初歩的なところから少しずつ深堀りしていく
予備実験的な位置づけの個人開発での事例を織り交ぜながら
いま熱いキーワードだけでも伝われば嬉しい
今日お伝えしたい
ウェブアプリエンジニアが生成AIとそのAPIの勘を掴むためにやったこと
そもそも存在に慣れる
ChatGPTのUI以外でも触れて本質を探る
検索タスクを考えてみる
生成タスクを考えてみる
生成AIという存在に慣れる
Generative AI
正直な話、最初はかなり戸惑った
あらゆる考え方が根本的に変わる予感がした
モデルとの対話方法が独特で、いまだ体験したことがない感じ
APIでも自然言語でリクエストを出すとは思わなかった
https://gyazo.com/8fe0d42305dfbc2f3cfd414948a3b159 https://twitter.com/daizplus/status/1620058404856418304
生成AIという存在に慣れる
とにかく触って感覚を掴んでいくしかない
とにかく流暢に日本語を話して格好いい、英語もできる、コードも書ける
GPT-3.5 と GPT-4 を適材適所で使っている
なんだかんだ高速な3.5が便利ですね
Microsoftが提供するチャットUIの検索機能
検索結果の応答に文献の参照を含められていて格好いい
これも裏側はGPT
Googleが提供する生成AI
まだ試せていない
生成AIという存在に慣れる
大規模言語モデル(LLM)の仕組みの理解はいったん諦めた まだこれからも大きく変わるだろう
モデルアーキテクチャごと変わる可能性すらある
時間があったら最後に少し補足
本質を探る
アプリ開発者にとっての旨味はどこにある?
ChatGPTのUIだけを見ていると「チャット」以外の使い道を思いつきにくいかもしれない
社内である日突然爆誕したML WorkingGroupでteramotodaiki.iconに教えてもらった
これに触れてから、だいぶ鮮明な世界が見えてきた印象。感謝。
色々なモードがあるので一通り試してみるといい
https://gyazo.com/8b508489bb7759c01aea18a320322c8e
興味ある題材で使ってみる
例: 毎日のブックマークを振り返る
シンプルに楽しむ。生成される文のテンションの差が激しくて面白い。
temperatureを変化させてみる
https://gyazo.com/29d1dcb462f2d1d697f8e4d19104e1f1 https://twitter.com/daizplus/status/1631467474959966208
code:prompt
注目記事に関するコラムを書きたい。
- Helpfeel Tech Hour Vol.1 LT ソフトウェアの設計と計測
- GPT-3におけるFew-Shot・Zero-Shot
- YAPC::Kyoto 2023ノベルティのPerl Poemを読み解く
(省略)
まとまりのある 独創的なストーリーを連想し、シンプルな世界記述をせよ。
これらの事象は順不同である。文の長さや文同士の繋がりが不自然に単調にならないよう注意せよ。下記の制約を満たし、結果のみ示せ。
制約:
- 記事のタイトルの文言をそのまま使わなくてもよい
- なるべく多くの記事を満遍なく参照すること
- 丁寧語を含めてはいけない
結果:
興味ある題材で使ってみる
https://gyazo.com/e09228fef05c1398b6e9d54c7d52bde1
興味ある題材で使ってみる
結論としては、確率的にそれらしい経緯度を返しているだけ 有名な地名に関してはほぼ確実に正解している、何故なのか
https://gyazo.com/0c355eb2be5be7d8841f6f4efa253255
code:prompt
これから場所の名前を与えます。 代表点となる経緯度を返してくれますか?
結果のみを答えてください。
回答形式:
緯度数値,経度数値
でははじめます。
旨味が見えてきた
汎用的な知識を背景に持った高度な文脈理解力
自然言語処理を意識しなくても "いい感じ" にまとめてくれる
形態素、係り受け、抽象・抽出要約を理解しなくても使える
語彙が豊富な作文能力
あらゆる要求に応じた文章を書ける
文同士を滑らかに接続できる
埋め込み表現、特徴ベクトルとも言う
API
10年くらい前のマッシュアップブームの乗りを彷彿させる?
検索タスクを考えてみる
得意なフィールドで使ってみよう
生成AIで検索?
検索タスク: Few-shotでキーワード抽出
Bing AIの挙動を真似してみたい
https://gyazo.com/c572ccd455feaca7291fd496f3c0b5d3
このUIにヒントがある
ユーザーが入力した自然文から良さげな単語を抽出して検索していそう
Embeddingを使わずに既存の検索システムをいますぐ小さく改善できる!
キーワードで検索
自然文で検索
Few-shotで重要キーワードを抽出して検索
個人開発: 実際にやってみた
https://gyazo.com/b8531a43362438c2d458cb72ac421c5a
これまでは画像のメタデータ(概要文やOCR結果)テキストを入力として素朴に検索していた
特徴的なキーワードで検索したい
ChatGPT-3.5で解いてみる
キーワードに分解する例をいくつか見せてやると真似してくれる
code:prompt
入力される自然文Xに関連する興味深い検索キーワードを複数推薦してください。
入力文Xに含まれない表現を連想して提示しても構いません。
厳選した8個〜10個を答えてください。
世界最高峰の検索エンジンBingでの結果を例示します。参考にしてください。
'X: 沖縄の国際通りで美味しい酒が飲めるお店 -> Y: "酒" "沖縄" "国際通り" "ランキング"'
'X: 美味しいパンケーキを食べたい -> Y: "パンケーキ" "美味しい" "朝食"'
'X: いますぐイクラ丼を無限に食べたい -> Y: "いくら丼" "無限" "レストラン"'
'X: 新しいパソコンでChromeを使いたい -> Y: "GoogleChrome" "インストール"'
入力文に含まれない単語も推薦して検索対象範囲を少しだけ広げてくれる
https://scrapbox.io/files/64234cd3c93f8e001be0aac8.mp4
https://scrapbox.io/files/64234cc31dd210001c259724.mp4
https://gyazo.com/203b3f5afa248357adc7a143a36cc971
準備
検索対象のドキュメントEmbeddingを予め計算しておく
https://gyazo.com/9440af89673d9f1f0580f1aac6093d8f
1536次元
Retriever
クエリのEmbeddingの近傍にあるドキュメント郡を返す
Reader
取得したドキュメントをさらに詳しく解釈していい感じの検索結果を生成する
より適切なものを選択
組み合わせて加工
ベクトル検索
個人開発: 実際にやってみた
私のブログ記事と対話できます daiiz.icon
Retriever
近傍10件の記事を取得する
Readerに渡すための文章を選ぶ
入力トークン (≒ 単語) 数に上限があるため特徴的な一文+記事タイトルを使う作戦
各記事からクエリに最近傍の行Embeddingを取得する
https://gyazo.com/ec6b2b9508964ec9dbba63d69d5abab4
Reader
ChatGPT-3.5にQAタスクを解いてもらう
さっきBing AIの文献注釈が格好いいと言ったけど、わりと簡単に実現できてしまった?
https://gyazo.com/f888b31dd15ed10281d55ce6dc0aee07
https://gyazo.com/bd23c89692417297dd3ecfefb0424355
code:prompt
これは自分(daiiz)のブログ探索システムである。
自分の投稿記事のリスト:
a1 2022-07-16: Google Lensで画像を検索\t似ている画像を探せて嬉しい a2 2023-02-10: Bing\tMicrosoftが提供する検索エンジン a3 2023-03-10: テキストと画像を使って検索する\tテキストと画像を組み合わたクエリも発行できる。 (省略)
質問:
画像と文字で検索できるやつ
制約:
次の2ステップで順にポジティブに考えよ。回答不能な場合はN/Aと答えよ。
- 問題1. 質問の回答としてふさわしい記事を1~6個程度選び、記事番号をカンマ区切りで答えよ。
- 問題2. 選択した記事をすべて組み合わせて、記事の事実のみを端的に一段落の文章でまとめよ。それぞれの文の適切な位置に根拠となる記事番号を「a0」のように付記すること。文の接続が滑らかになるよう工夫せよ。また、時系列に注意せよ。 回答形式
- 問題1: ...
- 問題2: ...
Retriever-Readerモデルの考察
Retrieverに力を入れたい
やはり「検索」の領域は引き続き重要
ベクトル探索だけでなく、複合的な情報検索技術が求められる 「最近イオンで買った本は?」→ 時刻と位置情報の知識も必要
Readerも面白い
情報のまとめかたの探究
なるべく読む文字は減らしたい
https://gyazo.com/0fc1304b3c97d722e89387a231bc1c4e https://twitter.com/daizplus/status/1640291027536736257
Render
勝手に提唱したい daiiz.icon
自然文以外の見せ方ができるのではないか?
生成AIの威力を堪能できるのは対話UIが全てではないはず
ChatGPT Pluginsを楽しみにしつつ、Generative AI時代のUIも考えていきたい
UI with AI
生成タスクを考えてみる
Helpfeelでどのように使えるか?
https://gyazo.com/6ba774bcb8cad0eee195a127f6ffbdf4
元記事
https://gyazo.com/dfaa641b7b8e1bc15cb70a75584595d8 https://help-ja.gyazo.com/IvySearch
二段階で支援
① 記事の本文の理解
質問文の素となる重要な記述を抜き出して端的にまとめる
② 質問文の作成(換言)と拡張
機械的に展開できるパターンを提案する
採否の判断はライターが行うため、質問文のクオリティはこれまでどおり維持される
意図予測支援ツール
難解な題材への理解の第一歩を補助する
https://gyazo.com/9ab50cc57ccf7add8a88e4ddb4585af1
短時間でバリエーション豊かな言い換えを高速に吟味できる
検索データとしてカバーできる語彙がさらに充実する
ライティングの専門家がより本質的な作業に時間を使えるようになる
生成結果の創造性のコントロール
生成AIのクリエイティブ度合いを制御するのが難しい
(一時的な単なる小手先テクニックかも)
細かく誘導問題を付ける
例: 「直前に求めたXを用いて、...」
期待する結果を丁寧に説明する
例: 「要約せよ」ではなく「事実は何か?」と問う
例示する
結局一番これが効く気がする
まとめ
検索と換言タスクでの実践的なアイデアを紹介した
得意なお題に引きずり込んで、とにかく手を動かしていこう
最先端のAIサービスに触れて勘を掴み続けよう
皆さんのアプリ開発で活用できる兆しが見えてきたでしょうか?
おまけ: それでもやっぱり生成AIのことを深く知りたい
このあたりの本を読んでいる daiiz.icon
https://gyazo.com/b0477e93c79acef45493077fe2c81c06
Transformerを画像の認識や生成タスクにTransformerを適用したモデル
画像のEmbeddingが得られて嬉しい!
テキストと動画像の研究領域で互いに進化しあっている気がするので、画像の方も追いかけている
https://gyazo.com/b14dbd840aa3ebfab1fd11a7c6390c78
生成AIの知識を体系的に勉強できる
想像以上に本気な学術書だったので唸りながら読んでいる
論文に出てくるような数式を読み解けるようになる
おまけ: GPT登場以前の社内での機械学習関連の研究
要約、文章変換
おなじみの[MASK]での穴埋め問題
抽出要約、抽象要約
類義語を用いた質問文の機械展開
文章ベクトルでの検索とクラスタリング
https://gyazo.com/968098911aac46ec033e8b95c30fad9f
精度がいまいちだった
対象の業界が増えたり時代が進むたびに定期的にモデルを調整しないといけない
運用コストに見合わないような?
勉強に使っていたおすすめ本 daiiz.icon
https://gyazo.com/8c0ce7cc790477cc6abd0d197c5896bf
https://gyazo.com/781633a5ffdd5ae231d684b06a20ffbe