2024年 3月 の投稿一覧

『Ring Attention with Blockwise Transformers for Near-Infinite Context』

この論文では、従来のTransformerのメモリ制約を長いシーケンスを扱う際に克服する新しいアプローチを紹介する。この革新的な方法は、ビデオや複雑な環境データなど、長大なシーケンスの分析が必要なAIアプリケーションにとって重要である。

Ring Attentionの核心となるアイデアは、自己注意とフィードフォワード処理をブロック単位で計算することだ。この方法により、長いシーケンスを複数のデバイスに分散させ、従来のメモリ効率の良いTransformerが扱えるシーケンスの長さをデバイス数倍に拡張することが可能になる 。特に、Ring Attentionは自己注意とフィードフォワードのブロック単位の計算を利用し、長いシーケンスを複数のデバイスにまたがって処理することで、キーとバリューのブロックの通信をブロック単位の注意計算と完全に重ね合わせることができる。このアプローチにより、個々のデバイスに課されるメモリ制約を効果的に排除し、言語モデリングタスクでの大規模シーケンス入力サイズの処理と性能の向上を実現する。

この論文では、各ホストが外部ループのブロック単位の注意の要素を担当し、そのブロックに特有のフィードフォワードネットワークを実行する分散入力シーケンスの処理方法が述べられる。ブロック間の相互作用は、各ホストが次のホストへのキーとバリューのブロックの送信と、前のホストからの受信を同時に行うことで、ブロック単位の計算とブロックの転送を効率的に重ね合わせる。この方法により、追加の通信コストなしで、デバイス間の算術強度を最適化し、メモリ要件を最小化する 。

複数のデバイスにまたがる長大なシーケンスのトレーニングと推論を可能にすることで、Ring Attentionは従来のメモリ効率の良いTransformerによって達成可能なシーケンスの長さをデバイス数倍に増加させることなく、近似や追加の通信および計算オーバーヘッドを伴わずに実現する。言語モデリングや強化学習タスクにおける広範な実験は、数百万トークンのコンテキストサイズを扱う能力と性能の向上を示す 。

通常のAttentionとRing Attentionの違い

通常のAttention(標準的なTransformerモデルで使用)

• 全結合: 入力シーケンスの全トークンが互いに関連付けられる。各トークンは、他の全トークンとの関係を計算し、その情報を用いて出力を生成する。

• メモリ要求: 入力シーケンスの長さに応じて、計算量とメモリ使用量が二次的に増加する。これは長いシーケンスを扱う際に問題となる。

• 計算の集中性: 一つのデバイスで全計算を行うため、大規模なシーケンスや複数のデバイスを使用する場合のスケーリングが難しい。

Ring Attention

• ブロック単位の処理: シーケンスを複数のブロックに分割し、それぞれのブロックが異なるデバイスで処理される。これにより、長いシーケンスをより効率的に扱える。

• リング構造: デバイス間でブロックがリング状に渡されることで、通信と計算を重ね合わせ、効率的に処理を行う。各デバイスは、次のデバイスへキーとバリューのブロックを送信しながら、自身の計算を進める。

• メモリと通信の効率化: ブロック単位での処理により、メモリ使用量が大幅に削減され、デバイス間通信も最適化される。これにより、従来の方法に比べて長いシーケンスを扱えるようになる。

Ring Attentionは、従来の全結合Attentionに比べて、長いシーケンスをメモリ効率よく、かつスケーラブルに処理できる点が大きな違いである。Ring Attentionは高いパフォーマンスを次のように実現する。

1. メモリ使用量の削減: 通常のAttentionでは、シーケンス内の全トークン間で相互作用を計算し保存する必要があるため、長さが増すとメモリ使用量も急増する。Ring Attentionではシーケンスを小ブロックに分割して異なるデバイスで処理するため、各デバイスで必要なメモリ量が減り、より長いシーケンスを効率的に扱える。

2. 通信と計算の効率化: デバイス間でブロックをリング状に渡すことで、キーとバリューのブロックの通信と自己注意計算を同時に行う。これにより、通信と計算が重複し、無駄な待ち時間が減少し、計算効率が向上する。

3. スケーラビリティの向上: シーケンスを扱うデバイスの数に比例して性能が向上する。デバイスを追加すれば、さらに長いシーケンスを処理できるため、大規模モデルや複雑なタスクへの柔軟な対応が可能になる。

4. 大規模シーケンスの扱いやすさ: メモリと計算の効率化により、特に大規模シーケンスや長期依存性があるデータを扱う際に、優れたパフォーマンスを発揮する。これは、言語モデリングや時系列分析など、長いコンテキストが重要なタスクでの性能向上を意味する。

通常のAttentionの数式は次のように表される。

[
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V
]

この式は、(Q)(クエリ)、(K)(キー)、(V)(バリュー)の3つの行列を用いる。まず(Q)と(K^T)(キーの転置)の内積を取り、その後(d_k)(キーの次元)の平方根で割ってスケーリングする。これにより、各クエリに対する全キーの関連度を計算し、softmax関数を適用してこれらの関連度を正規化する。各バリュー(V)に対する重み付けを行い、最終的に加重和を取ることで出力を得る。

Ring Attentionに関して、具体的な数式は直接の記載がないため、通常のAttentionとの比較から導出する形で想定することになる。Ring Attentionの目的は、大規模なシーケンスを効率的に扱うことにあるため、シーケンスをブロックに分割し、それぞれのブロックでAttention計算を行いつつ、全体としてのコンテキストを保持するような処理が含まれると考えられる。したがって、Ring Attentionの一般的な概念を表す数式は以下のようになるかもしれない。

[
\text{RingAttention}(Q, K, V) = \sum_{i=1}^{N} \text{BlockAttention}(Q_i, K_i, V_i)
]

ここで、(Q_i, K_i, V_i)は、分割された各ブロック(i)に対するクエリ、キー、バリューを表し、(N)はブロックの総数である。各ブロックでのAttention計算(ここでは仮想の関数(\text{BlockAttention})として表現)を行い、その結果を合計または平均することで全体の出力を得る。これにより、各ブロック内での局所的な情報処理と、ブロック間の情報の統合が行われる。

重要な点は、この数式がRing Attentionの概念を説明するための仮想的なものであり、実際の実装や数式は更に複雑な通信パターンや最適化を含むことである。

「The ChatGPT Cheat Sheet」

役割を演じる (Act as a [ROLE])

  1. アナリスト
  2. 教師
  3. マーケター
  4. 技術者
  5. リーダーシップコーチ
  6. マインドセットコーチ
  7. インタビュアー
  8. ジャーナリスト
  9. 投資家
  10. ゴーストライター
  11. ウェブデザイナー
  12. ベストセリング著者
  13. チーフイノベーションオフィサー
  14. インフルエンサー
  15. アカウントエンジニア
  16. フロントエンドデベロッパー
  17. プロジェクトマネージャー
  18. スポーツコーチ
  19. ファイナンシャルアナリスト
  20. フルスタックデベロッパー
  21. UNIXターミナル
  22. 「ポジション」インタビュアー

タスクを作成 (Create a [TASK])

  1. ヘッドライン
  2. 記事
  3. エッセイ
  4. 本の概要
  5. ソーシャルメディアシーケンス
  6. メールマケティングポスト
  7. 製品説明
  8. カバーレター
  9. ブログポスト
  10. SEOキーワードの要約
  11. サムネイル
  12. ビデオスクリプト
  13. セールスコピー
  14. 分析
  15. A/Bコピーテスト
  16. アナログコード
  17. ウェブページ

フォーマットを示す (Show as [FORMAT]) 1A. テーブル 1B. リスト

  1. サマリー
  2. HTML
  3. コードシート
  4. スプレッドシート
  5. グラフ
  6. CSVファイル
  7. スライド
  8. プレーンテキストファイル
  9. JSON
  10. リッチテキスト
  11. PDF
  12. XML
  13. マートチャート
  14. ガントチャート
  15. ワードクラウド
  16. エモージ
  17. アナログ
  18. ブリットポイント

制限を設定する (Set restrictions)

  1. 詩的な言葉を使う
  2. 幼稚な文を書く
  3. 特定のフォントで書く
  4. コードのみのHTML/CSSを使う
  5. シェイクスピアの英語を使う
  6. 古典的な英文スタイルを使う
  7. 純粋な科学的な情報源を使う
  8. アップカルチャーリファレンスを追加する

開発者向けのプロンプト (Prompts for Developers)

  1. JavaScriptとCSSを使って、ウェブサイトでの機能とデザインを改善するためのアドバイスをください。
  2. コードのスニペットを提供して、私が実装できるようにしてください。
  3. 私のウェブサイトのヘッダーに固定されるスティッキーノートを実装するためのCSSとJavaScriptを提供してください。
  4. 下記のJavaScriptコードの続きを書いてください。

**マーケター向けのプロンプト

(Prompts forMarketers)**

  1. ブログ投稿のアイデアをいくつか提供してくれますか?(トピックに関して)
  2. 私の製品やサービスを宣伝するための革新的な方法は?
  3. 私の会社を促進するサービスや製品をどう推奨すればよいですか?
  4. ソーシャルメディアを使用せずに、私の会社のバックリンクを増やす方法は?

デザイナー向けのプロンプト (Prompts for Designers)

  1. モバイルアプリのUIデザイン要件を生成してください。
  2. (法律系ウェブサイトのように)信頼と権威を伝える方法を考慮して、(ある法律ウェブサイト)のデザインをしてください。
  3. どのような考慮事項が(ブランドまたは業界?)の権威を伝えるのに必要ですか?
  4. 完全に機能するフィードバックアプリをデザインする際に、どのようなユーザーインプットを促進する必要がありますか?
  5. チームメンバーが3人いるときに、UXライティングチームに与えるテスト。

ビジネスオーナー向けのプロンプト (Prompts For Biz Owners)

  1. 私の会社をどのように宣伝すればより少ない費用でより効果的にできますか?
  2. コンサルタントとして、どのようにして(問題?)を解決するベストプラクティスを提案しますか?
  3. (トピック1)と(トピック2)に関するメディアコンテンツ戦略を作成してください。

プロンプトの工夫 (Prompt Priming)

  1. ZERO – 「プロンプトヘッドライン [トピック]」
  2. SINGLE – 「[トピック] について5つの見出しを書いてください。」
  3. MULTIPLE – 「[トピック] について5つの見出しを書いてください。ここにサンプルをいくつか挙げます:『速く痩せるための5つの方法』、『頑固な脂肪にさよなら』、『速く痩せるためのファストトラック』」

プロンプトエンジニアリングのためのC.R.E.A.T.E.フォーミュラ (C.R.E.A.T.E Formula for Prompt Engineering)

C: キャラクター – 対象の役割を定義する。例:「20年の経験を持つベテランコピーライター」ではなく、「スピーチを書くことができる猫」。

R: 要求 – 何を作成または回答するかについて具体的な要望をする。

E: 例 – オプショナルで、より精密なプロンプトのために具体的な例を提供する。

A: 行動 – 何をすればいいかの指示を与える。

T: タイプ – 出力として求められるものを説明する。例えば、「500語の記事をタイトルと結論付きで書く」とする。

E: 拡張 – インストラクションを詳細化する。

Delft Design Approach

科目ナンバリング:

科目名: デルフトデザインアプローチ

担当教員: 加藤泰久

標準履修年次: 3年

開講期: 第3学期

授業方法/授業形態: メディア/講義

必修・選択の別: –

単位: –

場所: –

備考: –

履修条件: 「デザイン思考入門」の単位を取得していること

授業の概要: このコースは、革新的なデザイン思考方法論で知られるデルフト工科大学のデルフトデザインアプローチを探求します。このアプローチの核となる原則をカバーし、新進デザイナーと経験豊富なデザイナーの理解を深めることを目指します。カリキュラムは、反復的で人間中心の問題解決のマインドセットを育成し、理論と実践の応用を組み合わせます。講義と実世界のプロジェクトを通じて、参加者はユーザー中心のデザインやプロトタイピングなどの主要な要素に取り組み、さまざまな分野でのデザインの課題に対処するスキルを習得し、持続可能な解決策を生み出すための共同作業と人間中心のデザインの価値を評価します。

授業の目標: このコースは、デルフト工科大学で開発された方法論に根ざした革新的なデザイン思考に関する深い理解と実践的なスキルを参加者に提供することを目指しています。理論的な指導と実践的なプロジェクトの組み合わせを通じて、学習者は反復的でユーザー中心のデザインプロセスに取り組みます。コースは、複雑なデザインの問題を解決するための学際的な協力を奨励し、デザインプロセスについての反省を通じて、継続的な改善と持続可能なデザインのマインドセットを育成します。
デルフトデザインアプローチの核となる原則を習得し、実践的なシナリオでそれらを適用する。
複雑なデザインの文脈での学際的な協力と効果的な問題解決を促進する。
より広い社会的および環境的目標に貢献するために、反省的な実践と持続可能なデザイン思考を奨励する。

成績評価の方法: ディスカッション: 20%、レポート: 20%、クイズ: 30%、最終試験: 30%

宿題・課題: 宿題(事前学習および事後学習など)を完了することを確認してください。

授業の方法・内容の特徴: メディアコース

教科書・教材・参考書: 教科書: 特に指定なし 参考書: 特に指定なし

特記事項: すべてのコース資料、ビデオ講義、講義ノートは英語でのみ提供されます。学生が英語を十分に理解し、コース内容を理解し、効果的に参加するためには、英語の習熟が不可欠です。 さらに、すべての課題は英語で提出する必要があります。日本語など他の言語での提出は受け付けられません。この方針は、すべての学生に対して統一された理解と評価基準を確保し、公正で包括的な評価プロセスを促進します。この言語方針を守ることは、このコースでの成功した学習体験にとって重要です。

質問・相談の方法、オフィスアワー: コースやその内容に関連する問い合わせや議論については、@ROOMまたは@CAMPUSでアクセス可能なメッセージ機能を使用してください。オフィスアワーを利用したい場合は、@CAMPUSのキャンパスサポートセンターを通じて予約する手順を参照してください。

授業内容の詳細

内容

1回『デザインにおける意味の理解』

【第1講】イントロダクション 「デルフトデザインアプローチ」の紹介。
意味のある製品をデザインする基本原則
「朝の儀式」をテーマにデザインプロセスを進める
【第2講】物事はなぜそのようになっているのか? 私たちの周りの物事がどのようにしてその形になり、意味を持つようになったのか。
私たちは、すべてのデザインされたアイテムを3つの異なるレベルで見ることができます: 何、どのように、なぜ
既存の製品/活動からデザインの理由を解体する
【第3講】なぜ私たちは(さらに)デザインすべきなのか? デザイナーが行動を起こす緊急性がどこから来るのか。
モデルのデザイン側では、コンテキスト(なぜ)からインタラクション(どのように)を経て製品コンセプト(何)へと理由づけを行います。
私たちが提唱する人間中心のデザインプロセスでは、要因は主に人々と彼らが住む世界を理解することから生じます。
【第4講】仕事を振り返る方法 Vision in Product design メソッドにおける振り返り
原則とは、複数の状況で真実である基本的な事実です。
状態とは、与えられた事実です。
発展とは、時間とともに変化するものです。
トレンドとは、短期間で発展や変化の一般的な方向性です。
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
タイムライン上にあなたの朝の儀式をマッピングする
==========小テスト等==========
デルフト大学のデザイン

2回 『使用環境の理解』

【第1講】使用環境の理解 使用環境を理解することの重要性。
デザイナーは、市場の要求、技術の提供、そして意図したユーザーの生活や経験の洞察によって情報を得ます。これが使用環境です。
【第2講】使用環境を理解するためのツール 使用環境を理解するために使える2つのツール。
タイムラインツールは3つのステップからなり、事実から経験や感情に至ります。
ソーシャルサークルツールは、朝の儀式の間に重要な人々をマッピングするためのものです。
【第3講】観察する人を見つける 朝のルーチンについて話したり、歩いて見せてくれる人を選んでください。
あなたの仮定をチェックする
ミートアップの準備をする
【第4講】参加者の朝の儀式をマインドマップにする 参加者と話す前にマインドマップを作る。これは実際のミートアップの準備の一部です。
ミートアップ/フィールドスタディ
あなたの最も重要な洞察を視覚化する
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
宿題の課題
==========小テスト等==========
使用環境の理解

3回 『デザインチャレンジの定義』

【第1講】デザインチャレンジの定義 あなたが朝の儀式について学んだことの概要を把握し、デザインチャレンジを定式化することに焦点を当てます。
【第2講】デザイン問題の定義 構造化された問題定義を定義することができます。
問題定義は、あなたのプロジェクトの何、どのように、なぜの3つの基本的な質問に答えます。
これらをより具体的にするために、あなたが行った研究の結果に答えられる一連の質問をリストアップしました。
【第3講】あなたのデザインチャレンジの定義 デザインチャレンジを定義することの意義と、自分のデザインチャレンジを定義する方法。
人々が本当に何をしているのか、何を感じているのか、何を経験しているのか、どのように振る舞っているのかを理解することが重要です。
何かがなぜある感情を誘発するのかを理解すること。
【第4講】要件の暫定リストを作成する この課題の第一ステップでの質問に対するあなたの回答を振り返り、5つの質問のそれぞれに対して要件を導き出してください。
テンプレートにあなたの要件を書き込んでください。
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
ビデオで話された5つの質問に答えて、あなたのユーザーの朝の儀式に何が問題なのかを説明してください。
==========小テスト等==========
デザインチャレンジの定義

4回 『アイデアの生成』

【第1講】アイデアの生成 このコースで行うプロセスを、発散と収束の一連の段階として想像することができます。
【第2講】デザインにおけるアイデアの生成 デザインにおいてどのようにアイデアを生成できるか。目的は、新しくて有用なアイデアを生み出すことです。あなたに多くのアイデアを生み出すインスピレーションを与えるものは何でしょうか?
【第3講】方法?類推によるアイデアの創出 類推を使ってアイデアを創出する方法
類推という方法は、アイデアを生成するのに役立ちます。
類推を発見しようとするときに考慮すべき2つの重要なことは、あなたが取り組もうとしている課題(ターゲット)と、あなたのインスピレーションの源(ソース)です。
【第4講】How? Creating ideas with SCAMPER SCAMPERという単語の各文字は、既存のアイデアを操作するための異なる一連の行動を表しています。
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
できるだけ多くのアイデアを生成する(発散)ことから始め、それらを厳しく絞り込んで(収束)有望なアイデアの小さな選択肢にします。この文脈で「有望」とは、選択したアイデアがあなたのデザインチャレンジと要件のリストに関連しているということです。
==========小テスト等==========
アイデアの生成

5回 『コンセプトの開発と評価 I』

【第1講】コンセプトの開発と評価 この段階では、あなたのアイデアをコンセプトに変える時です。
【第2講】要件のリストの作成 暫定的な要件のリストを更新し、コンセプトの開発と評価を推進することができる完全な要件のリストに変える方法。
良いデザインとは、望ましい効果を生み出すだけでなく、現実的な可能性の範囲内でそれを行うことです。
要件のリストを作成するためには5つのステップがあります。
【第3講】コンセプトの開発 デザインコンセプトとは何か、そしてどのようにコンセプトを開発するか。
デザインコンセプトは現実的な解決策であるべきですが、まだ検証される必要はありません。
コンセプトの開発は、分割-解決-再接続のプロセスと考えることができます。
【第4講】コンセプトスケッチのインスピレーション あなたのコンセプト開発の努力を刺激するための基本的なスケッチ技法。
図面は、ほとんどの場合、コンテキスト内でデザインを表現する可能性が高いです。
コンテキストの写真を撮り、印刷して、トレーシングペーパーを使ってなぞります。
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
宿題の課題
==========小テスト等==========
コンセプトの開発と評価 I

6回 『コンセプトの開発と評価 II』

【第1講】デザイン図面のサンプル デルフト工科大学の様々な学部の学生の作品の例。
【第2講】コンセプトの評価と選択 コンセプトデザインの意思決定プロセス。
デザインには「唯一の正しい」決定というものはありません。
質的な基準と量的な基準の両方に対処しなければなりません。
【第3講】コンセプトを評価するためのツール:ハリスプロファイル デザインコンセプトを評価し、選択するときに意思決定プロセスで使えるツールについて説明します。
量的な方法は、代替案をランク付けすることができ、どの代替案が最良であるかだけでなく、どれだけ良いかも教えてくれます。
ハリスプロファイルは、序数尺度で代替案をランク付けする質的な方法で、各基準についてどれが良いかを教えてくれます。
【第4講】要件のリストの更新と詳細化 発想の段階の後、あなたはおそらく開発するコンセプトについてもっと具体的なアイデアを持っているでしょう。
プロセスツリーの作成
要件の記述
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
プロトタイプを作る
==========小テスト等==========
コンセプトの開発と評価 II

7回 『ユーザーとのテスト』

【第1講】ユーザーとのテスト シミュレーション/プロトタイプを作るためのインスピレーションを用意しました。
【第2講】シミュレーションについて学ぶ あなたに完全に動作するプロトタイプを作ることを期待していません。
あなたはあなたのデザインの様々な側面をシミュレートするためにプロトタイプを作ることができます。
ほとんどの製品には、別々にシミュレートできる3つの側面があります。使用法、技術的機能、形状です。
あなたのプロトタイプの目的を決めたら、まず計画を立てる必要があります。
【第3講】ユーザーテストとシミュレーションの準備 シミュレーションを作り始める前に、考慮すべきいくつかのことがあります。
テストする必要がある側面を決める
テストをどのように実施するかを決める
【第4講】ユーザーとのテスト ユーザーとのテスト
テストの計画を立てる
テストを実施する
結論を書き留める
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
プロトタイプを作るためのステップバイステップの計画を立て、プロトタイプを作ります。
==========小テスト等==========
ユーザーとのテスト

8回 『プレゼンテーションとまとめ』

【第1講】コンセプトのプレゼンテーション どんなデザインプロジェクトでも、最後にはクライアントや他の関係者に結果をプレゼンテーションするときがやってきます。
あなたのデザインチャレンジ
最終的なコンセプト
おすすめのポイント
【第2講】プレゼンテーション作成演習
【第3講】プレゼンテーション作成演習
【第4講】プレゼンテーション作成演習
==========予習(事前学習)==========
配布された資料を読み、Webや類似のリソースでわからない単語や専門用語を調べてください。
==========復習(事後学習)==========
パワーポイントファイル(画像と音声を含む)で課題を提出してください。プレゼンテーションは5分以内にしてください。
==========小テスト等==========
プレゼンテーションとまとめ