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
7
1.5k
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
350
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
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Code Review Best Practice
trishagee
65
17k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Scaling GitHub
holman
459
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2.1k
Six Lessons from altMBA
skipperchong
27
3.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
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に何ができるか • 人間に何ができるか
おわり