<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Chigen SEN</title>
    <description>Taki Labo,
Graduate School of Artificial Intelligence and Science,
RIKKYO UNIVERSITY, Tokyo, Japan</description>
    <link>https://speakerdeck.com/sennsann99</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/sennsann99.rss"/>
    <lastBuildDate>2026-03-11 04:41:20 -0400</lastBuildDate>
    <item>
      <title>nanoMoEの深層解剖：Mixture of Expertsにおける条件分岐を排除した並列演算実装</title>
      <description>大規模言語モデル（LLM）の効率的なスケールアップを実現するアーキテクチャ「Mixture of Experts (MoE)」を、PyTorchを用いてゼロから実装・解説した資料です。

■ 概要
MoEの肝となる「Router」の意思決定プロセスから、複数の「Expert（MLP）」へのデータ分配、そして並列演算による出力の統合までを、行列の形状推移（Shape Tracking）に焦点を当てて可視化しました。

■ 本スライドの核となる技術トピック
・RouterのGPU最適化実装: トークンごとの条件分岐（if文/forループ）を避け、topk、scatter、one_hot、cumsum を駆使したGPUフレンドリーなマスキング手法をステップバイステップで解説。
・Expert Capacityの導入: 特定のExpertへの負荷集中を防ぐための容量制限（Capacity Factor）の実装と、あふれたトークンの切り捨て処理の論理構造。 
・行列演算による並列処理（bmmの活用）: view や permute を用いて、バラバラなExpertへの入力を一つのテンソルとしてまとめ、一括で処理する「分配と統合」のメカニズム。

■ 実装した主なコンポーネント
・Routerクラス: Gating Logitの計算とTop-K選択。
・MLPExpertsクラス: 複数のExpertを一つのパラメータ群として保持し、バッチ行列乗算（bmm）で並列処理。
・MOELayerクラス: RouterとExpertsを統合し、エンドツーエンドの推論フローを構築。

 ■ 開発環境
Python
PyTorch (bmm, einsum, torch.amp 等の活用) </description>
      <media:content url="https://files.speakerdeck.com/presentations/9a5bd50032df42d5865935af5bcda586/preview_slide_0.jpg?38697651" type="image/jpeg" medium="image"/>
      <content:encoded>大規模言語モデル（LLM）の効率的なスケールアップを実現するアーキテクチャ「Mixture of Experts (MoE)」を、PyTorchを用いてゼロから実装・解説した資料です。

■ 概要
MoEの肝となる「Router」の意思決定プロセスから、複数の「Expert（MLP）」へのデータ分配、そして並列演算による出力の統合までを、行列の形状推移（Shape Tracking）に焦点を当てて可視化しました。

■ 本スライドの核となる技術トピック
・RouterのGPU最適化実装: トークンごとの条件分岐（if文/forループ）を避け、topk、scatter、one_hot、cumsum を駆使したGPUフレンドリーなマスキング手法をステップバイステップで解説。
・Expert Capacityの導入: 特定のExpertへの負荷集中を防ぐための容量制限（Capacity Factor）の実装と、あふれたトークンの切り捨て処理の論理構造。 
・行列演算による並列処理（bmmの活用）: view や permute を用いて、バラバラなExpertへの入力を一つのテンソルとしてまとめ、一括で処理する「分配と統合」のメカニズム。

■ 実装した主なコンポーネント
・Routerクラス: Gating Logitの計算とTop-K選択。
・MLPExpertsクラス: 複数のExpertを一つのパラメータ群として保持し、バッチ行列乗算（bmm）で並列処理。
・MOELayerクラス: RouterとExpertsを統合し、エンドツーエンドの推論フローを構築。

 ■ 開発環境
Python
PyTorch (bmm, einsum, torch.amp 等の活用) </content:encoded>
      <pubDate>Wed, 11 Mar 2026 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/sennsann99/nanomoenoshen-ceng-jie-pou-mixture-of-expertsniokerutiao-jian-fen-qi-wopai-chu-sitabing-lie-yan-suan-shi-zhuang</link>
      <guid>https://speakerdeck.com/sennsann99/nanomoenoshen-ceng-jie-pou-mixture-of-expertsniokerutiao-jian-fen-qi-wopai-chu-sitabing-lie-yan-suan-shi-zhuang</guid>
    </item>
    <item>
      <title>PyTorchによるGPT-2モデルのフルスクラッチ実装と内部構造の解説</title>
      <description>PyTorchを用いて、大規模言語モデルの基礎となるGPT-2（Transformer Decoder）をゼロから実装した際の解説資料です。

■ 概要
「Attention Is All You Need」の論文に基づき、単なるライブラリの呼び出しではなく、行列演算のレベルからアーキテクチャを理解することを目的として作成しました。

■ 本スライドで重点を置いたポイント
・行列の形状（Shape）の可視化: (batch_size, seq_len, embed_dim) が各層でどのように変化するかを図解し、デバッグや実装時の混乱を防ぐ工夫をしています 。
・Multi-head Attentionの並列化: なぜ transpose(1, 2) が必要なのか、PyTorchのメモリ配置の観点から解説しました 。
・実践的な実装Tips: view と reshape の挙動の違いや contiguous() の必要性など、効率的なコーディングに欠かせない「ハマりどころ」についてもまとめています 。

■ 実装した主なモジュール
・Single-head / Multi-head Attention (Causal Mask対応)
・GPT Block (LayerNorm, MLP, Residual Connection) 
・GPT Model (Token &amp; Positional Embedding, Output Head) </description>
      <media:content url="https://files.speakerdeck.com/presentations/7959ae666c5a49b68c6875c2f29d0a99/preview_slide_0.jpg?38697586" type="image/jpeg" medium="image"/>
      <content:encoded>PyTorchを用いて、大規模言語モデルの基礎となるGPT-2（Transformer Decoder）をゼロから実装した際の解説資料です。

■ 概要
「Attention Is All You Need」の論文に基づき、単なるライブラリの呼び出しではなく、行列演算のレベルからアーキテクチャを理解することを目的として作成しました。

■ 本スライドで重点を置いたポイント
・行列の形状（Shape）の可視化: (batch_size, seq_len, embed_dim) が各層でどのように変化するかを図解し、デバッグや実装時の混乱を防ぐ工夫をしています 。
・Multi-head Attentionの並列化: なぜ transpose(1, 2) が必要なのか、PyTorchのメモリ配置の観点から解説しました 。
・実践的な実装Tips: view と reshape の挙動の違いや contiguous() の必要性など、効率的なコーディングに欠かせない「ハマりどころ」についてもまとめています 。

■ 実装した主なモジュール
・Single-head / Multi-head Attention (Causal Mask対応)
・GPT Block (LayerNorm, MLP, Residual Connection) 
・GPT Model (Token &amp; Positional Embedding, Output Head) </content:encoded>
      <pubDate>Wed, 11 Mar 2026 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/sennsann99/pytorchniyorugpt-2moderunohurusukuratutishi-zhuang-tonei-bu-gou-zao-nojie-shuo</link>
      <guid>https://speakerdeck.com/sennsann99/pytorchniyorugpt-2moderunohurusukuratutishi-zhuang-tonei-bu-gou-zao-nojie-shuo</guid>
    </item>
  </channel>
</rss>
