1 ポイント 投稿者 GN⁺ 2024-04-19 | 1件のコメント | WhatsAppで共有

Effortとは何か?

  • Effortとは、何かを成し遂げたり目標を達成したりするために投入されるエネルギー、時間、資源を指す
  • これは、障害を乗り越えたり望む結果を得たりするために必要な努力や骨折りを意味する
  • Effortは物理的な場合もあれば、精神的な場合もある
    • 重い物を持ち上げたりマラソンを走ったりするのに使われるエネルギーのような物理的努力
    • 複雑な問題を解決したり新しい技術を学んだりするのに必要な集中力や精神力といった精神的努力
  • 個人の成長、職場、教育など、さまざまな人生の領域で成功を収めるための重要な要素である

GN⁺の意見

  • Effortは単に投入する時間やエネルギーの量だけでなく、持続性や集中力、モチベーションなどさまざまな要素が複合的に作用する概念である。したがって、一生懸命努力したからといって必ずしも成功が保証されるわけではない
  • 特に精神的なEffortを要する作業では、burn outに陥らないよう注意する必要がある。適切な休息と報酬を通じてEffortを持続できる方法を見つけることが重要である
  • 人によってEffortのかけ方は異なる場合がある。短期間に集中的に取り組める人もいれば、長期的に着実にEffortを投入できる人もいる。自分に合った方法を見つけるのが効果的である

1件のコメント

 
GN⁺ 2024-04-19
Hacker Newsの意見
  • このアルゴリズムはリアルタイムでパラメータを枝刈りし、グループ内で絶対値順位の低い重みを0に設定して重み行列を疎にするもの
  • モデル枝刈りについて検索すると、ベースラインとして「大きさベースの枝刈り」を議論する論文が多く見つかる
    • ただし、これらの論文は自分たちの手法を誇張するためにベースラインをひどく実装し、数学用語を多用して自分たちの方法を説明している
    • 一方、元のブログ記事は背景知識がほとんどない人でも理解しやすいように方法を説明している
  • GPU実装セクションの一文が印象的
    • 「GPUプログラミング初心者は『どうやって動くんだ?』と尋ね、経験豊富な人は『いったいどうして動くんだ?』と尋ねるだろう」
  • 行列を転置し、行単位で要素を並べ替え、その方向から乗算を見直すのを「Compressed Sparse Row (CSR)」形式と呼んでいる
    • 乗算を行うには、ベクトルから1を取り出して256を掛け、それを出力ベクトルの3行目に加える、という形で進める
    • 最小値を持つ最後の列を切り落とすとどうなるかを見てみよう、という提案
  • アイデア名の提案: 「lobotomize」
  • これは準構造化(2:4)スパース性に似ているように見えるので、明示的に比較する価値がある
    • この技術はApple Siliconに最適化されており、75%のスパース性で約2倍高速、動的で入力に応じて変化し、実行時に適用され、スパース性の度合いを選べる
    • 一方、2:4準構造化スパース性はスパースTensor Coreを備えたGPUに最適化されており、50%のスパース性で約2倍高速、静的でモデルがアイドル状態のときに適用され、50%スパース性ではこの技術より結果が悪そうに見える
    • 50%スパース性での準構造化スパース性の結果(2倍高速化)と、75%スパース性でのこの技術の結果(2倍高速化)を比較してみるのは興味深そう
  • CSRを使った経験からすると驚きはなく、block ELLのような新しい形式の一部はコードこそ厄介だが、非整列の読み取り/集約を避けられるため、よりマシンに寄り添った感じがある
  • 15msの遅延は60Hzのvsync(16.7ms)に近く見えるので、トークンごとに一度画面を更新すると何らかの形で同期が発生するかもしれない
  • こうしたクールでオープンな貢献に感謝。llama.cppでこれが実装されるのを注視したい。CPU推論を高速化する方法を探していたが、この「effort」のアイデアが気に入った
  • すばらしい記事!量子化と比べたときのVRAMあたりの性能がとても気になる。クロスプラットフォーム版を実装する予定はあるのだろうか?
  • これは https://arxiv.org/abs/2312.12456 および https://github.com/SJTU-IPADS/PowerInfer と関連しているように見える