Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AI時代に求められるプログラマの能力 / ability of programmer in A...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoki Kishida
January 18, 2025
14k
22
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI時代に求められるプログラマの能力 / ability of programmer in AI era
2025/1/18に開催されたGDG Kwansaiでのイベントの資料です。
https://gdgkwansai.connpass.com/event/337645/
Naoki Kishida
January 18, 2025
More Decks by Naoki Kishida
See All by Naoki Kishida
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
4
340
Java 27新機能 / Java 27 new features
kishida
2
180
ローカルLLMでどこまでコードが書けるか -LLM基礎知識 / How much code can be written on a local LLM - fundamental knowledge
kishida
10
10k
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.4k
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
410
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
5.6k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
260
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
650
ローカルLLM基礎知識 / local LLM basics 2025
kishida
30
17k
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
480
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Agile that works and the tools we love
rasmusluckow
331
22k
How to Talk to Developers About Accessibility
jct
2
560
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Between Models and Reality
mayunak
4
470
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
410
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
580
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
Building Applications with DynamoDB
mza
96
7.2k
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に何ができるか • 人間に何ができるか
おわり