Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ChatGPTなどの言語モデルは どのようにシステムで使えるか / How to use LLM in System
Search
Naoki Kishida
June 14, 2023
Programming
4
1.5k
ChatGPTなどの言語モデルは どのようにシステムで使えるか / How to use LLM in System
2023/6/14に開催されたFukuoka Integration Xでの登壇資料です
https://fix.connpass.com/event/283871/
Naoki Kishida
June 14, 2023
Tweet
Share
More Decks by Naoki Kishida
See All by Naoki Kishida
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
2
200
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Java 22 Overview
kishida
1
260
Is Object-Oriented nessesary?
kishida
0
67
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
33
23k
AI時代を乗り切る実装力をつけよう / Get avility of implementation beyond AI era
kishida
2
5.2k
AI時代を生き抜くために処理をちゃんと書けるようになろう / write a executable process for AI era
kishida
24
14k
Javaは今どうなっているの? / how about java now
kishida
14
19k
動くコードを書こう / let's code a process
kishida
25
7.4k
Other Decks in Programming
See All in Programming
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
CSC307 Lecture 14
javiergs
PRO
0
220
小さな開発会社を作った理由
polidog
0
1.9k
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
DMMプラットフォームにおけるTiDBの導入から運用まで
pospome
7
3k
「2024年版 Kotlin サーバーサイドプログラミング実践開発」の補講 〜O/Rマッパー編〜
n_takehata
2
260
Architectures with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
100
Product Management LT会_クアンド新家
shinshin
0
210
実用的かつリーズナブルな 「Azure × Gemini × LINE」~キャラクターBot 実装ライブデモ~
tomodo_ysys
1
170
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Trial
cairolibrary720
1
130
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Featured
See All Featured
A Philosophy of Restraint
colly
200
16k
Designing for Performance
lara
604
67k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
18
1.2k
Raft: Consensus for Rubyists
vanstee
134
6.5k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
Building a Modern Day E-commerce SEO Strategy
aleyda
25
6.7k
How to Think Like a Performance Engineer
csswizardry
4
590
Music & Morning Musume
bryan
43
5.9k
The Mythical Team-Month
searls
217
43k
Side Projects
sachag
451
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Infographics Made Easy
chrislema
238
18k
Transcript
ChatGPTなどの言語モデルは どのようにシステムで使えるか LINE Fukuoka きしだ なおき 2023/6/14 Fukuoka Integration X
2023/06/14 2 自己紹介 • きしだ なおき • LINE Fukuoka •
twitter: @kis • 「プロになるJava」という Java入門書を書いてます
ChatGPTとは • サービスとして • Webやアプリでチャットを行う • APIとして • プログラムからChatGPTを呼び出す •
言語モデルとして • ChatGPTの基盤になるTransformerをベースにした言語モデル • 文章のどこが大事か注目する • 実際には2つのモデル • gpt-4 • gpt-3.5-turbo(サービスとしては無償で利用可能)
ChatGPTによって「AI」開発が活発に • 研究者から技術者へ • 日本でも独自モデルを作ろうという動き • 富岳での言語モデル開発 • 日本語特化モデルの相次ぐ発表
リスクの議論も始まる • 著作権 • 日本の著作権ではモデル作成がやりやすい • 利用時は人間の手による創作と変わらない基準 • ただし量が多い •
個人情報 • 利用時の問い合わせに個人情報を含めてしまう • 意図せずモデル作成に使われる • 有害情報 • モデル作成時の偏り • 思いがけない出力
ChatGPTの使いかた • サービスとして使う • APIとして使う
ChatGPTの利用方法 • 「言語の計算機」 • 文章の変換 • 文章の解析 • 一般知識の解説 •
テキスト生成(プログラムを含む)
文章の変換 • 箇条書きからメール文 • 要約 • 文体の変換 • 翻訳
文章の解析 • 文章の妥当性のチェック • 特性の判断 • プログラムの解説
特性判断の例 • ブログ著者のプロファイリング
プログラムの解説 • よくわからないプログラムを解説してくれる
一般知識の解説 • 検索がわり • 業務フローなどの解説
文章の生成 • 物語 • 詩 • プログラム
プロンプトの技術 • プロンプトエンジニアリング • Chain Of Thought(CoT) • Zero Shot
CoT
Chain Of Thought(CoT) • 考え方を提示すると正しい答えが出やすくなる
Zero Shot CoT • 「Let’s Think Step by Step」をつけるだけでいい
システムからの利用 • APIを利用 • 関数定義が可能になった • 文章から適切な機能呼び出しの抽出 • プラグイン •
ChatGPTのサービスから自分たちのサービスを呼び出す • Embedding(埋め込み) • 文章をベクトル化 • 近い文章を見つける
Embedding(埋め込み) • 文章の特徴をあらわすベクトルに変換 • 方向が近いベクトルは似た文章 • 文章検索に利用できる
ChatGPT以外の言語モデル • Google • PaLM2 • Bardで使われる • Meta •
LLaMA • OPT •
日本語特化LLM(発表順) • B=10億 • ChatGPTのGPT-3.5が355Bと言われている 提供元 名称 パラメータ数 オープン利用 LINE,
Naver ワークスモバイルジャパン HyperCLOVA 39B, 82B開発中 オルツ LHTM-2 160B ABEJA ABEJA LLM 13B Open版ABEJA LLM 2.7B 〇 CyberAgent 極予測AI 13B OpenCALM 6.8B 〇 Rinna Rinna 3.6B 〇 AI Inside PolyShere-1 140B
必要なメモリ • 32bit Floatだとパラメータ数の4倍 • 16bit Floatだとパラメータ数の2倍 • Rinna 3.6Bは8GB程度のGPUメモリが必要
使いやすくする • 小さいメモリで動かす • Int8 • パラメータ数と同じ量のメモリ • 4bit量子化 •
パラメータ数の半分のメモリ • Rinna 3.6Bだと2GB • CPUで動かす • llama.cpp • スマホで動かせる
ローカルLLMのメリット • 実験がやりやすい • LLMの動きを体感しやすい • 独自の学習ができる • Fine Tuning
FineTuningとプロンプトの違い • プロンプトは台本 • シナリオに沿った応答をしてくれるけど、「素」がでる • Fine Tuningは教育 • 「素」を変える
Fine Tuningの技術 • Fine Tuningを素直にやると大量のメモリが必要 • LoRA • Low Rank
Adaptation • 少ないメモリでFine Tuneできる
Fine Tuningにはデータセットが必要 • データセットはプロンプトの集合体 • プロンプトエンジニアリングのスケールアップ
まとめ • 現状は実験段階 • ChatGPTが出て半年で多くのサービス • つまり半年で実装できる • プログラミング的には難しくない •
現状は「思ったより使える」 • 「使える」になるにはもうしばらくかかる • 実験して、何ができるか、どのような制約があるか体感するのが 大切