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 LL...
Search
Naoki Kishida
June 14, 2023
Programming
4
1.6k
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ベースAIの基本 / basics of LLM based AI
kishida
12
3.2k
Java 24まとめ / Java 24 summary
kishida
3
680
AI時代のプログラミング教育 / programming education in ai era
kishida
25
26k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
10
2.5k
AI時代に求められるプログラマの能力 / ability of programmer in AI era
kishida
19
13k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
540
Java Webフレームワークの現状 / java web framework
kishida
10
11k
Is Object Oriented nesessary? COSCUP 2024
kishida
0
200
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
3
800
Other Decks in Programming
See All in Programming
TypeScriptでDXを上げろ! Hono編
yusukebe
3
880
テスターからテストエンジニアへ ~新米テストエンジニアが歩んだ9ヶ月振り返り~
non0113
2
240
PHPカンファレンス関西2025 基調講演
sugimotokei
5
1k
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
670
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
0
210
What's new in Adaptive Android development
fornewid
0
120
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
360
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
310
NEWT Backend Evolution
xpromx
1
160
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
710
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
7
1k
コーディングエージェント概観(2025/07)
itsuki_t88
0
440
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Done Done
chrislema
184
16k
GitHub's CSS Performance
jonrohan
1031
460k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
BBQ
matthewcrist
89
9.8k
For a Future-Friendly Web
brad_frost
179
9.8k
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が出て半年で多くのサービス • つまり半年で実装できる • プログラミング的には難しくない •
現状は「思ったより使える」 • 「使える」になるにはもうしばらくかかる • 実験して、何ができるか、どのような制約があるか体感するのが 大切