NVIDIA GTC2025@San Joseに参加してきました

NVIDIA GTC2025@San Joseに参加してきたため、内容を共有したいと思います。
## GTCとは
NVIDIAが主催する年次のテクノロジーカンファレンスで、2025年は3/17〜21の期間、アメリカのカリフォルニア州サンノゼにて開催されました。
今年は2万５千人もの参加者を集めたそうで、AI関連で勢いのあるNVIDIAの最新動向が発表される場ということもあり、満席のセッションも多く、会場も混雑しており活気がありました。

参加したWorkshop、Keynote、セッション等について、共有したいと思います。

## Workshop「Efficient Large Language Model(LLM) Customization」
LLMの効率的なカスタマイゼーションをテーマに、LoRAによるファインチューニング、合成データ生成(SDG:Synthetic Data Generation)等について学習しました。

### LoRAによるファインチューニング
LoRAとは、低ランク行列を使用してLLMの重みづけを変更するPEFT(Parameter-Efficient Fine Tuning)技術のことで、コアLLMの重みは凍結したまま、低ランク行列のパラメーターを調整することで、モデル全体を再トレーニングする計算負担をかけず、LLMの応答をカスタマイズすることができます。

Hugging FaceにあるCNN dailymailのTrain/Validation/Testデータセットを使用して、<a href="https://catalog.ngc.nvidia.com/orgs/nvidia/teams/nemo/models/llama-3_1-8b-nemo">Meta Llama 3.1 8B</a>をベースにPEFTスキームとして「lora」を指定し、NeMoフレームワークのHelperスクリプトであるmegatron_gpt_finetuning.pyを実行して、ニュース記事を要約する処理のトレーニングを実施しました。トレーニング結果は.nemoファイルとして出力されます。
ベースモデルの出力結果とファインチューニングされたモデルの出力結果を比較した結果、後者の方がよりシンプルな要約となっていることを確認できました。

例：
Base Modelの要約結果
```
TV legend Bob Barker made a surprise return to hosting "The Price Is Righ
t" after an eight-year absence. On April 1, Barker, 91, took the stage and
led the show's first game, "Lucky Seven," with ease. He then handed over h
osting duties to Drew Carey, who had been hosting the show since 2007. Bar
ker's return was a nostalgic moment for fans, who remembered him as the sh
ow's host for 35 years. Despite being away from the show for most of the p
ast decade, Barker seemed to be in top form, handling the game with his si
gnature charm and wit. The return of the beloved host was a welcome surpri
se for viewers, and it was clear that he still had the magic touch. Barke
r's appearance was a one-time event, but it was a special moment for fans
of the classic game show. 
```
LoRA Modelの要約結果
```
TV legend Bob Barker returned to host "The Price Is Right" for the first t
ime in eight years. Barker hosted the show for 35 years before stepping do
wn in 2007. He appeared on the April 1 edition of the show, handling the f
irst price-guessing game. Barker, 91, seemed to miss no beat, despite bein
g away from the show for most of the past eight years. He handed over host
ing duties to Drew Carey, who finished up the show.
```

### NeMo Curatorによる合成データ生成(SDG:Synthetic Data Generation)
PEFTでトレーニングを行うには実データを使用するのがベストではあるものの、収集に時間がかかる場合や、組織の制約により収集できない場合もあります。
Workshopでは架空の小売業者が、モデルトレーニングのために様々なシチュエーションに応じた大量の擬似お客様メールを生成したい、という要件をみたすソリューションを実装しました。

最初のステップとして、様々な合成データの作成に特化した<a href="https://build.nvidia.com/nvidia/nemotron-4-340b-instruct/modelcard">nemotron-4-340b-instruct</a>を使って、「大手競合小売店が出店している世界の都市を100個挙げて」といったプロンプトをもとに都市名を生成しました。

続いてハイレベルトピックとして「製品に関する質問」や「返品リクエスト」を生成するためのプロンプトを作成し、NemotronGeneratorクラス（NeMoCuratorに含まれる合成データ生成機能）を使ってトピックを生成しました。
NemotronGeneratorはOpenAI APIもサポートしており、OpenAI APIを呼び出してトピックを生成しました。（OpenAI APIはAPIコール回数に制限があって大量の合成データ生成に適さないケースがあり、その場合はMistralAIの<a href="https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1">Mixtral-8x7B-Instruct-v0.1</a>のように、ローカルで動かせるモデルを代わりに使用する構成にもできるそうです。）
NemotoronGeneratorにはSubtopic作成機能もあるため、ハイレベルトピックをインプットに「擬似お客様としてメールを書いて」といったプロンプトをもとにメール本文が生成できることを確認しました。
同じく、Subtopic作成機能を使用して、最初に生成した都市名からその都市に住んでいそうな人の名前の生成もできました。

最終的には、langchain_nvidia_ai_endpintsライブラリーやlangchain_coreライブラリーを使用して、メール送信者の名前やトーン・英語スキル・都市名・トピック等をランダム指定して、大量の擬似メールを作成することができました。

上記以外にもWorkshopで取り扱ったテーマがあり、かなり盛りだくさんな内容でした。
LoRAによって効率的にモデルをカスタマイズできること、NeMo Curatorを使って大量の合成データを生成できることを体感でき、実際の様々なユースケースに応用もできそうと思いました。

## Keynote
GTC2025の中でも一番のイベントがNVIDIA CEOであるJensen Huang氏のKeynoteでした。
会場はSAP Centerで1〜2万人ぐらい入っていたと思います。10時開始にも関わらず、遅くとも9時15分までには来ないと入れないかもしれない、との事前アナウンスがありました。（実際8時半頃に着いて、着席まで1時間以上かかりました。）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/0a51f360-4b3c-4aeb-839d-c852e44ac38b.png">
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/8f87ff21-e87b-4ea6-bc1a-a47bfe09a686.png">

数ある発表の中で個人的に印象に残ったTop3は、低レイテンシーの生成AI分散推論フレームワークである<a href="https://www.nvidia.com/en-us/ai/dynamo/">NVIDIA Dynamo</a>、Blackwell GPUが入ったお弁当箱サイズのデバイス<a href="https://www.nvidia.com/ja-jp/products/workstations/dgx-spark/">NVIDIA DGX Spark</a>、NVIDIA・Google DeepMind・Disney Researchがコラボレーションして開発した物理エンジン<a href="https://developer.nvidia.com/blog/announcing-newton-an-open-source-physics-engine-for-robotics-simulation">Newton</a>で動くロボットでした。
NVIDIA Dynamoは、LLMのReasoningモデルが出てきて、Traditional LLMと比較してTokens数が20倍、求められる計算能力が150倍にもなっており、推論処理の効率化を行うための重要な技術となるようです。
NVIDIA DGX Sparkは性能向上のために大型化している印象のあったGPU装置の小型化に成功しておりエッジでの活用が進みそうと思いました。
Newtonで動くロボットは会場の注目を見事に集めるレベルの自然な愛嬌のある、エンターテイメント性のある振る舞いで、人に受け入れられやすいロボット技術が実現できていることを実感しました。

## セッション
Keynoteで話のあったNVIDIA Dynamoに加え、次に流行るであろうと言われているAIエージェント、安全にLLMを動かすためのGuardrail、LLMのライフサイクルを管理するMLOps関連のセッションを中心に出席しました。

1. Introduscing NVIDIA Dynamo: A Distributed Inference Serving Framework for Reasoning models
<a href="https://github.com/ai-dynamo">NVIDIA Dynamo</a>にも書かれている通り、以下の3つがデザインコンセプトとなっています。
<b>Disaggregated Serving Engine</b> : Decoupling of prefill and decode to optimize for throughput at latency SLOs
<b>Intelligent Routing System</b> : Prefix-based and load-aware request distribution
<b>KV Cache Management</b> : Distributed KV Cache management
トランスフォーマーモデルの入力(Prefil)と生成(Decode)を別々に処理するためにIntelligent Routing Systemを使って複数のWorkerNodeに分散処理させると共に、KV Cacheを使って重複処理を排除することで推論のパフォーマンスをあげる仕組みである、と理解しました。
　
1. AI Agents in Production: Insights and Directions
1. Keep up With AI Innovation, From Models to Agents
AIエージェント関連で、2はLang ChainのCEO兼創業者であるHarrison Chase氏、3はHuggingFaceの製品責任者であるJeff Boudier氏と、勢いがある2製品担当によるセッションでした。
2はLangChainについての説明で、LangGraphと呼ばれるワークフローコントロール・他のAIエージェントや人間ともやり取りする機能に加え、LangSmithと呼ばれる検証・可視化用のプラットフォームもあり、AIエージェントを本番活用するための機能が備わっていることを説明されていました。
3については、HuggingFaceでは800万人・20万組織ものAIビルダーが参画しており、smolagentsと呼ばれる軽量AIエージェンを実装するためのフレームワークもあって、VoiceAgentsやBrowserAgents・ResearchAgents等も用意されているとの説明がありました。
　
1. Advanced LLM App Evaluation: Building Real-Time Guardrails for Real-World LLM Risk Mitigation
1. Build Safe Enterprise AI With NVIDIA NIM
安全にLLMを使うためのGurdrail関連で、4はArize AIの創業者兼Cheif Product OfficerであるAparna Dhinakaran氏、5はSecuriti AIのCEOであるRehan Jalil氏によるセッションでした。
トレーニングのためのデータ抽出から生成したアウトプットの制御を含めた包括的な安全性を考慮すると、NVIDIA NeMo Guardrailsはあるものの、それだけですぐに安全性が担保できるわけでなく、大規模な作り込み無しにきっちり担保するにはArize AI社やSecuriti AI社が提供しているような製品も現状必要であると思いました。
　
1. Enterprise MLOps 101
MLOpsは機械学習の開発からデプロイ・継続的なメンテナンスを行うための実践的な方法で、101はアメリカの大学で使われる一番最初のコース番号（入門編）という意味だそうです。
最新LLMモデルに注目が集まりがちですが、それを取り巻くインフラ・構成・リソース管理・監視・データ収集・データ検証・変数抽出・分析・プロセス管理は非常に複雑で、ビジネスアナリスト・データサイエンティスト・データエンジニア・MLエンジニア・アプリ開発者・SRE・インフラ担当でライフサイクル・レイヤー別に棲み分けを整理して明確化する必要がある、との話が印象的でした。


余談として、3のセッションでは、ポップなプレゼンチャートにも心惹かれたことを追記しておきます。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/b9ad65c0-16ef-4320-8841-a37ee24c9b5b.png">


## 番外編
### Get NVIDIA Certified
初の試みとして、GTC2025参加者には特別に無料で以下のCertificationを取得できる機会が提供されました。
1. NVIDIA-Certified Associate: Generative AI and LLMs
1. NVIDIA-Certified Associate: Multimodal Generative AI
1. NVIDIA-Certified Associate: AI Infrastructure and Operations
1. NVIDIA-Certified Professional: AI Infrastructure
1. NVIDIA-Certified Professional: AI Operations

もともと3のAI Infrastructure and Operationsは持っていて、1のGenerative AI and LLMsにチャレンジしようと学習していたところだったため、チャンス！と思ってチャレンジしてみたら合格できました！
合格体験記は以下に投稿しています。

https://qiita.com/yuji_hashimoto/items/8373a5b28d523f7b7c06

会場で合格したならではの特典として、普通に受けたらもらえないバッチをもらえたり、Celebrating Partyに招待されたりしました。
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/f2b8a5b5-92e4-4073-a945-d1e73df8ed6d.png">
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/c71e0a7d-7f50-4b00-bbd9-36e1e6501c0c.png">

Celebration Partyでは、世界各国の世代や性別のバラバラな100名程度が参加されており、日本人の方もいました。
NVIDIA資格を取った人が一番住んでいるのはアメリカ・インド・イギリス・サウジアラビア・ドイツ・フランス・韓国・日本・シンガポール・オランダ・中国だそうです。
合格率が一番低いのはNVIDIA-Certified Professional: AI Networkingだそうです。
記念品としてNVIDIAマークの入ったボトルももらえました。
<img width="100" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3997038/578fa225-b80a-47a7-b408-f8bbd39eef55.png">