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
AI時代に求められるプログラマの能力 / ability of programmer in A...
Search
Naoki Kishida
January 18, 2025
5
540
AI時代に求められるプログラマの能力 / ability of programmer in AI era
2025/1/18に開催されたGDG Kwansaiでのイベントの資料です。
https://gdgkwansai.connpass.com/event/337645/
Naoki Kishida
January 18, 2025
Tweet
Share
More Decks by Naoki Kishida
See All by Naoki Kishida
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
420
Java Webフレームワークの現状 / java web framework
kishida
10
10k
Is Object Oriented nesessary? COSCUP 2024
kishida
0
140
プログラムに組み込みたい人向けLLMの概要 / LLM for programmers
kishida
3
510
Javaの現状2024夏 / Java current status 2024 summer
kishida
5
2k
Java 22 Overview
kishida
1
340
Is Object-Oriented nessesary?
kishida
0
120
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
36
25k
AI時代を乗り切る実装力をつけよう / Get avility of implementation beyond AI era
kishida
4
7.8k
Featured
See All Featured
Building an army of robots
kneath
302
44k
Practical Orchestrator
shlominoach
186
10k
How STYLIGHT went responsive
nonsquared
96
5.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Code Review Best Practice
trishagee
65
17k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
RailsConf 2023
tenderlove
29
970
A better future with KSS
kneath
238
17k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Done Done
chrislema
182
16k
Writing Fast Ruby
sferik
628
61k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
AI時代に求められるプログラマーの能力 2025-01-18 GDG Kwansai LINEヤフー きしだ なおき
2025/01/18 2 自己紹介 • きしだ なおき • LINEヤフー • X(twitter):
@kis • 「プロになるJava」という Java入門書を書いてます
3 AIの時代の到来 • ChatGPT以来、AIの普及が始まる • いままでは画像中の人物判定など識別AI • ChatGPTは文章を生成するので生成AI • 画像や動画、音楽なども生成
• プログラムも高精度に生成 • 今年、ハードウェアもソフトウェアも整う • 必要になる能力も変わっていく
AIとは • LLM(大規模言語モデル)がベース • ニューラルネットワークが基本 • GPT = Generative Pretrained
Transformer • Transformerが肝
ニューラルネットワーク • 多層の計算ネットワーク • LLMの規模を示すパラメータは接点の重みのこと • 13Bのモデルで1パラメータ1バイト(8bit)にすると13GB必要 • 16bit floatなら26GB必要
• 多数のFMA計算(乗算して加算) • GPUと非常に相性がいい
Transformer • 文章の係受けなど注目する場所を特定する仕組み • アテンション • 言語処理などの能力が劇的に向上 • トークンから別のすべてのトークンへの 注目度を計算
• つまり文章の長さの2乗に計算時間が比例
埋め込みベクトル • LLMでは情報を多次元ベクトルとして扱う • 1000次元とか
埋め込みベクトルを利用した検索 • 質問の文章のベクトルと同じ方向のベクトルを持つ文書を検索 • RAG(Retrieval Augmented Generation) "mountain" "cat" "guitar"
match! "にゃーん"
マルチモーダル • 画像や音声などを扱う • 画像などのベクトルとその内容を表す言葉のベクトルが同じ方向 になるようにする "cat" match!
エージェント • コントローラになるAIプロセスが思考のためのAIプロセスを 呼び出しながら思考を進める • 推論時にコンピューティングリソースを使うようになる • 昨年末から本格的な実用化 • 今年はエージェント普及の年
脱グラフィックボード • NVIDIAの新しいグラフィックボードRTX50シリーズ発表 • 最大メモリ32GB • つまり70Bとかのモデルは動かせない • ゲームとAIのメモリ需要の乖離 •
ゲーム:迅速にテクスチャにアクセスが必要。容量は不要 • AI:重みを順に読み込めればいい。容量が必要 • GDDR7のような高価なメモリを128GBとか積むとみんな不幸 • ゲーマーは容量が不要 • AIではアクセス速度が不要
SoCによる推論 • CPUとGPU、NPUを統合したSoC(System on Chip) • Apple Siliconが代表的 • WindowsでもCopilot+
PCを規定 • ユニファイドメモリで大容量メモリをCPUとGPUで共有 • NVIDIAも128GB搭載のProject Digitsを発表 • CUDAが動くのでみんな注目
AIの使い方 • AIをシステムに組み込む • AIを開発に使う
AIをシステムに組み込む • チャットUI • RAGによる検索 • 一般ユーザー向けには難しい • 不正利用 •
出力の品質 • 要約 • 提案
AIを開発に使う • コードの提案をしてもらう • フレームワークやAPIの使い方を教えてもらう • リファクタリングしてもらう • テストを書いてもらう •
プルリクを書いてもらう • 開発を全部やってもらう • とりあえず考え事は一旦AIに投げる
AIの欠点 • ハルシネーション • 最新情報を知らない • 論理が苦手 • 逆方向の推論ができない •
コストがかかる
ハルシネーション • 出力が正しいとは限らない • コーディングに関しては精度がかなり高くなっている
最新情報を知らない • カットオーバー時期までの知識しかない • 新しい情報はネットにのらない • 開店情報はネットにのっても閉店情報はのらない • RAGで情報を埋め込める •
プロンプトに必要な知識を埋め込んで対応できる
論理が苦手 • 確率的な処理なので論理が苦手 • 定式化された問題への能力はあがっている • トレーニングに含まれている • 定式化されていない場合に間違いがち •
Pythonスクリプトを生成して対応
逆向きの推論ができない • 「AはBである」という知識があるとき、BからAを導きだせない • 論理的には正しくないけど実務での発想に必要 • APIリファレンスから実際のコードを組み立てるのは苦手 • コード例が必要 •
BからAを説明する資料が多いので欠点は隠されている • 自由な発想には人間が必要
コストがかかる • 高性能なモデルを動かすにはコストがかかる • システムへの組み込みには注意が必要 • 論理でできることは論理で • 推論用ハードウェアの普及で安くなる •
小規模LLMの性能のあがっている • 人間よりは安い
必要な能力は? • コーディング能力は不要? • 上流工程の知識は重要 • AIを味方にする能力が重要
コーディング能力は不要? • 競技プログラミングが流行ったけど高度なものは不要 • 簡単な問題は解けたほうがいい • フレームワークやAPIの細かい知識は不要 • 採用フレームワークの判断は必要 •
ハマったときの解決力は必要 • AIはサポートしてくれるけど解決は難しそう
上流工程が重要 • AIに与える課題は人間が設定する • 現実を把握してAIに教えるのは人間 • プラットフォームへのフィッティングは人間が考える • 未来の計画は文書化されていない •
中長期的な判断は人間が行う必要 • 「ソフトウェア開発」の理解が必要 • 特に用件定義
AIを味方にする力は重要 • AIを人間の学習に利用する • 学習のためのサポートには強力 • ただし、簡単なものはやってくれるため学習のモチベーションが 湧きづらくなる • AIを学習に使う人と、AIに頼って学習しなくなった人とで格差が
広がる
基礎はやっぱり必要 • コンピュータに何ができるか • AIに何ができるか • 人間に何ができるか
おわり