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.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
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
10
2.3k
AI時代に求められるプログラマの能力 / ability of programmer in AI era
kishida
17
12k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
480
Java Webフレームワークの現状 / java web framework
kishida
10
10k
Is Object Oriented nesessary? COSCUP 2024
kishida
0
170
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
3
600
Javaの現状2024夏 / Java current status 2024 summer
kishida
6
2k
Java 22 Overview
kishida
1
360
Is Object-Oriented nessesary?
kishida
0
140
Other Decks in Programming
See All in Programming
ABEMA iOS 大規模プロジェクトにおける段階的な技術刷新 / ABEMA iOS Technology Upgrade
akkyie
1
260
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
180
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
140
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
210
ナレッジイネイブリングにAIを活用してみる ゆるSRE勉強会 #9
nealle
0
170
ML.NETで始める機械学習
ymd65536
0
250
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
170
Webフレームワークとともに利用するWeb components / JSConf.jp おかわり
spring_raining
1
150
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
750
Introduction to C Extensions
sylph01
3
130
Devin入門 〜月500ドルから始まるAIチームメイトとの開発生活〜 / Introduction Devin 〜Development With AI Teammates〜
rkaga
3
1k
読まないコードリーディング術
hisaju
1
140
Featured
See All Featured
Building Your Own Lightsaber
phodgson
104
6.3k
Facilitating Awesome Meetings
lara
53
6.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
GraphQLとの向き合い方2022年版
quramy
44
14k
Done Done
chrislema
182
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Designing for humans not robots
tammielis
250
25k
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が出て半年で多くのサービス • つまり半年で実装できる • プログラミング的には難しくない •
現状は「思ったより使える」 • 「使える」になるにはもうしばらくかかる • 実験して、何ができるか、どのような制約があるか体感するのが 大切