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
Java 27新機能 / Java 27 new features
kishida
2
150
ローカルLLMでどこまでコードが書けるか -LLM基礎知識 / How much code can be written on a local LLM - fundamental knowledge
kishida
10
9.6k
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.4k
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
400
ローカル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
240
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
640
ローカルLLM基礎知識 / local LLM basics 2025
kishida
30
17k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
5
1.3k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building Adaptive Systems
keathley
44
3.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
4 Signs Your Business is Dying
shpigford
187
23k
Automating Front-end Workflow
addyosmani
1369
210k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
510
Making the Leap to Tech Lead
cromwellryan
135
10k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
530
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
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に何ができるか • 人間に何ができるか
おわり