ゼロから始めるGPUプログラミング
本文の状態
日本語全文を表示中
詳細モードで約7分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Answer.AI
Jeremy Howardは、高校生でNeurIPSに論文を投稿したAI研究者Sarah Panを紹介する。彼女のプロジェクト「WebGPU Puzzles」は、ブラウザ上でGPUプログラミングの基礎を学べる優れたツールであり、その学習プロセスに驚嘆している。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
ジェレミー・ハワードは言います:私は、高校在学中から Answer.AI で働き始め、さらに NeurIPS でも第一著者論文が採択されたという、並外れて刺激的な AI 研究者であるサラ・パンを皆さんにご紹介できることを大変楽しみにしています!
サラの私どもとの最初のプロジェクトは「WebGPU Puzzles」です。これは今日、GPU プログラミングの基礎を学ぶための最良の方法だと私が知る限りで、これを使えばブラウザの中で直接 GPU プログラミングの学習を開始できます。サラが数週間でゼロから GPU プログラミング、WebGPU、そして gpu.cpp を学び、これを成し遂げられるレベルに達したことに私は驚嘆しました。
私はサラに自身のストーリーについて少し語ってもらうようお願いしました。彼女は以下の投稿でそれに応えてくれました。また、彼女には私とのインタビューにも時間を割いていただき、非常に特別な人物の人生への興味深い洞察が得られると確信しています。
こんにちは!私の名前はサラ・パンです。WebGPU Puzzles プロジェクト(Answer.AI の gpu.cpp をベースにしています)の名前を見かけたことがあるかもしれません。私について少し:私は Answer.AI の研究フェローであると同時に、MIT の1年生でもあります!つまり、授業や MIT の他の楽しい混沌とした活動の合間を縫って、Answer.AI チームと共に様々なプロジェクトに取り組むとともに、私の独自の研究も行っています。
起源の話
どうして私がここに至ったのか、不思議に思われるかもしれません。(私も時々そう思います。)しかし、私の AI への道は中学の終わりに始まりました。兄が fast.ai を紹介してくれたのです。当時、お気に入りのスター・ウォーズのキャラクターが R2D2 だったことが、このコースを受講する動機となりました。
Practical Deep Learning は、ニューラルネットワークについて教える際にトップダウンアプローチを採用していました。つまり、重要な高レベルな概念は、細かい詳細に邪魔されることなく学べるのです。代数学 I を超えた数学の授業を受けたこともなければ、ましてや大学学位も持っていないのに、複雑なシステムの内部動作を理解できることは、非常に新鮮でした。
高校 3 年生になると、AI に関する経験がさらに積み重なり、より深い学びを求めていました。私は MIT Primes という研究プログラムに参加しました。これは高校生を数学、コンピュータサイエンス、計算生物学の研究者と結びつけるプログラムです。そこで私のメンターである Vlad Lialin は、学術論文の効果的な読み方から「素早く反復する」という理念の採用に至るまで、あらゆることを教えてくれました。
二人で協力し、私が初めて発表することになるプロジェクトに取り組みました。詳細を長々と話して退屈させたくはありませんが、私たちは本質的に、強化学習(RL)におけるプロセス報酬モデル 1 を用いて、大規模言語モデル(LLM)の推論能力を向上させることを行いました。
最初は非常にシンプルに思えたこの話でしたが、すぐに間違いであることが証明されました。私が本当に大切にしているアイデアを実装するために、補助的なスキルを学ぶことが不可欠な瞬間が何度もありました。むしろ、デュアル 3090 に数十億パラメータの LLM を搭載しようとして夏を過ごした経験は、優れたエンジニアリング習慣の重要性を教えてくれました。しかしすぐに 10 月となり、私は NeurIPS の論文採択を心から願っていました。
NeurIPS
この経験を説明する他の方法が本当にあるとは思えません。まさに非現実的な体験でした。ポスター展示ホールは非常に広く、ほぼ突然、私と同じ興味を持つ人々があまりにも多く存在していることに気づきました。Twitter で見たアイデアや、さまざまなブログで読んだアイデアが、目の前で具現化されているのです。
ジェレミーに偶然遭遇したことを覚えています2。その後も会議の後は連絡を取り合いました。私が夏の間に出会った些細なエンジニアリングの問題が、後に私のメンターや共同研究者となる Answer.AI の人々との会話の中で再び浮上するとは、当時全く知りませんでした。
最近になって
昨夏、私は Austin Huang と WebGPU Puzzles の作成に協力しました。そして面白い事実として、これが GPU プログラミングとの 2 回目の遭遇でしたので、少し緊張しながら取り組みました。CUDA が何であるかについては一般的な理解があり、その時点で Sasha Rush の GPU Puzzles にも出会っていました。しかしすぐに、これらの経験から学んだアイデアが非常に役立つことに気づきました。

私がサシャのパズルで特に気に入っていた点は、私の主な焦点がパズルそのものを解くことにあったことです。まず、これらは Google Colab ノートブック上でホストされており、初心者にも優しいインターフェースを提供しています。また、構文に関しては、CUDA パズルには Numba が使用されており、Python と NumPy の知識があれば十分で、それ以上の専門知識は必要ありません。これらのパズルのアクセシビリティと使いやすさは、不必要な複雑さを排除し、並列計算を主に障害のない原則のセットに還元しました。その結果、C++ に関するあらゆることに気を取られることなく、コーディングチャレンジに近いものに集中することができました。
私は、WebGPU や gpu.cpp を試してみたい人々、あるいは単に GPU プログラミングの世界に飛び込もうとしている人々のためにこれを再現したかったのです。そこから、サシャの CUDA パズルの WebGPU 版を開発し、究極の初心者フレンドリーさを実現するために詳細な解決策セットを用意して取り組み始めました。それ以来、私は研究の原点に戻っており、現在は報酬モデルプロジェクト3に取り組んでいます。
研究以外では、私は MIT の1年生で数学とコンピュータサイエンスを専攻しています。これまでに受けた授業の中で最も好きなものはおそらく離散数学(非常に良く教えられています!)ですが、より多くの数学クラスを受講しなかったことを後悔しています。4 学校外では、チャールズ川で漕ぎながら日の出を見ること、AI 関連の Twitter を読むこと、そして愛犬と Facetime で話すことが大好きです。
脚注
プロセス報酬モデル(PRM)は、結果報酬モデル(ORMs)が応答全体を評価するのに対し、推論プロセスの各ステップでフィードバックを提供し、複雑なタスクの改善により細かく構造化されたガイダンスをもたらします。↩︎
私にとって究極の完全なループの瞬間です!↩︎
プレプリントはまもなく公開されます!↩︎
一般研究所の要件を片付けなければなりません↩︎
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み