MambaをPoetryで管理する
· ☕ 1 min read
リンク集 Mamba: Linear-Time Sequence Modeling with Selective State Spaces https://github.com/state-spaces/mamba https://github.com/Dao-AILab/causal-conv1d 備忘録 mamba-ssmやcausal-conv1dがPEP517に準拠していないのでpoetry add <package-name>だとインスコできない poetry add <path>でもsetup.py読んでくれないからムリ → 無理やりローカルでwheelを作ってpoetry addすれば ...

【NeRF】動画から点群・メッシュ・任意視点動画を生成してみる
· ☕ 4 min read
NeRFを使えば,点群・メッシュ・任意視点動画が作れるのでやってみた 今回は愛飲するRedBullを被写体にしてみるヨ! 任意視点動画 (GIF版) 任意視点動画 (動画版) Your browser does not support the video tag. 点群 NeRFとnerfstudioについて簡潔に説明 ボリュームレンダリング ある点 $x$と方向 $d$を入力として $(c,\sigma)$を出力 ...


EMNLP 2023 参加録
· ☕ 1 min read
EMNLP2023に行ってきた ポスター発表の画 面白かった発表 (マイベスト) Accelerating Toeplitz Neural Network with Constant-time Inference Complexity 会場で唯一見つけたSSM論文 (e.g., Hungry Hungry Hippos: Towards Language Modeling with State Space Models) Toeplitz Neural NetworksをSSMに変換し,閉形式で記述→DFTで効率的に解くというめちゃくちゃ胸躍る研究. 著者から直接聞いた話によると,最近Albert Guが出したMambaよりかなり ...


bfloatとは何か
· ☕ 1 min read
double vs fp32 vs fp16 vs bfp16 double (64bit) 1/11/52 = 64 fp32 -> float (32bit) 1 / 8 / 23 = 32 fp16 -> float (16bit) 1 / 5 / 10 = 16 IEEEで規格化 bfloat16 1 / 8 / 7 = 16 指数部をfp32に合わせている 仮数部は実質的な有効数字 (粒度) を決めて,指数部は値のrangeを決めるので,仮数部を減らして指数部を増やすことで,取りうる値のrangeを最大化してあげる (仮数部) x 2^(指数部) 2^() ...


【poetry】poetry updateが終わらない(気がする)とき
· ☕ 1 min read
pyproject.tomlで変な制約を付けていると,poetry updateで依存関係の解決が終わらないことがある. とりあえず poetry update -vvvでverbose mode (mode 3)で出力しましょう. 大抵は無限にバージョンを遡って行っているパターンが多い. 目で追っていくと,やたらとバージョンを探索しているライブラリだったり,頻出するライ ...

CPU = ALU + Register + L{1..3} Cache + etc
· ☕ 1 min read
CPUの主な構成要素は以下の通り: ALU(Arithmetic Logic Unit,算術論理演算装置): ALUは,レジスタから読み出されたオペランド(操作対象のデータ)とオプコード(操作を指示するコード)を用いて,算術計算や論理演算を行う. レジスタ: レジスタは,高速な小容量の記憶装置で,CPU内で直接アクセスされるデータや指令を ...

【Computer Science】知っておくべき数字一覧
· ☕ 1 min read
分岐予測の失敗 → 5ns L1 / L2キャッシュ→ 0.5ns / 7ns L1 cache reference 0.5 ns Branch mispredict 5 ns L2 cache reference 7 ns Mutex lock/unlock 100 ns Main memory reference 100 ns Compress 1K bytes with Zippy 10,000 ns 0.01 ms Send 1K bytes over 1 Gbps network 10,000 ns 0.01 ms Read 1 MB sequentially from memory 250,000 ns 0.25 ms Round trip within same datacenter 500,000 ns 0.5 ms Disk seek 10,000,000 ns 10 ms Read 1 MB sequentially from network 10,000,000 ns 10 ms Read 1 MB sequentially from disk 30,000,000 ns 30 ms Send packet CA->Netherlands->CA 150,000,000 ns 150 ms Where 1 ns = 10-9 seconds 1 ms = 10-3 seconds 引用: “Numbers Everyone Should Know” from Jeff Dean. doubleのbit数 MSB・指数・仮数で1 ...


【k8s・DDP】クラスタ上でのtorch.loadが遅い
· ☕ 3 min read
概要 巨大なembeddingをチャンクで外部に保存し,DDP(Distributed Data Parallel)を使った学習時に各GPUで読み込みたい そんなときtorch.load(path, map_location=f"cuda:{rank}")にかかる時間の分散が大きい場合がある 前提: torch.loa ...

ABCIで任意のDockerイメージを使用する
· ☕ 3 min read
前提: ABCIとは AI橋渡しクラウド(AI Bridging Cloud Infrastructure、以下「ABCI」という)は、国立研究開発法人 産業技術総合研究所が構築・運用する、AI技術開発・橋渡しのためのオープンな計算インフラストラクチャです。ABCIは、2018年8月に本格運用を開始し、2021年5月にABCI 2.0にアップグレードされ ...


【論文メモ】Hungry Hungry Hippos: Towards Language Modeling with State Space Models
· ☕ 6 min read
この度,SONY様のnnablaチャンネルにH3の解説動画を寄稿しました. 本記事ではなく動画の視聴の方を推奨します. 概要 ICLR23 状態空間モデル(state-space model; SSM)は様々なモダリティにおいて有用性が検証されてきたが,未だ言語系においては確認できていない. また,SSMは $\mathcal{O}(L)$であるにも拘ら ...


【ECDH・aes128gcm】MissCatの通知システムについて
· ☕ 8 min read
こんにちは.論文執筆真っ最中のYuWdです. 最近,研究および論文執筆のタスクが落ち着いてきたのでMissCatの改修をボチボチ行っています. (MissCatとはiOS向けのMisskeyクライアント) 改修に着手するにあたって,まずは通知システムを直すところに目星をつけたのですが,昔の自堕落(ドキュメントを書かない性分) ...

ReduxとSwiftUIについて
· ☕ 3 min read
Redux 状態は複数のView, Controllerが相互に依存するので管理が難しい そこで,相互にイベントを発火させるのをやめて,単一方向にのみ状態が流れるように ユーザ操作で変数が変更→変更を検知したらレンダリング → flux さらに,変数変更とレンダリングの間に更新ロジックを挟むのがRedux Reduxはグローバルな状態を管理するのが ...