Bilzard Profile Banner
Bilzard Profile
Bilzard

@bilzrd

1,366
Followers
193
Following
371
Media
3,640
Statuses

data hacking noob — Photo: the remains of the moat of Odawara Castle

Joined January 2010
Don't wanna be here? Send us removal request.
@bilzrd
Bilzard
8 months
松尾研による「国際的な学会誌に論文を通すための極意」的な文章。 細かい内容まで具体的に言語化されていて参考になった。
1
138
1K
@bilzrd
Bilzard
4 months
これはハマる。
Tweet media one
1
51
536
@bilzrd
Bilzard
11 months
LLM関連の論文を読む順番としては、GPT-1 -> GPT-2 -> GPT-3 -> InstructGPT -> GPT-3.5 -> GPT-4がおすすめ。Llamaなど後継のLLMは基本的にGPTの論文にしたがっているので最初にGPTの論文を読んでおくと理解しやすい。
1
28
381
@bilzrd
Bilzard
2 years
GNNについて仕組みから応用分野まで幅広くカバーした資料。 グラフ表現が画像やテキストなど日常的なタスクを包含する一般的な表現である、という説明が目から鱗だった。 学術論文よりは平易な文章で書かれていて、図も豊富にあるので、イメージを掴むには分かりやすい。
0
37
348
@bilzrd
Bilzard
1 month
Transfomerのsoftmax attentionはカーネル法の枠組みで再解釈すると、Q/Kのある射影と乱数を使ってモンテカルロ法で近似計算できる。 本研究はDCTによる射影と学習可能な定数によってQ/Kの射影を計算することで性能はそのままに学習速度を飛躍的に向上したと主張する。
1
22
228
@bilzrd
Bilzard
1 year
Adamのアルゴリズムの意味を整理してた。 Kaggleやってたら大抵の人が使ったことがあるoptimizerだが、パラメータの意味やアルゴリズムの詳細を知らずに使ってる人もいるのではないだろうか(自分はそうだった)。
Tweet media one
Tweet media two
Tweet media three
1
27
228
@bilzrd
Bilzard
9 days
TransformerのattentionはKernel法で定式化できるよね?を提示した先駆的研究。後続の研究で明に議論されてない(ゆえにたまに見落とされてる)maskingについても言及している。
1
21
207
@bilzrd
Bilzard
11 months
最近読んだLLM関連の論文をまとめた。fine-tuning周りは提案手法の多さに比べて自分の読めている論文の範囲が少ないので除外している。
0
24
206
@bilzrd
Bilzard
2 years
Polars、applyを使わずにexpressionで書くよう気をつけていれば勝手に並列実行してくれるのでかなり作業効率が改善した。
1
18
175
@bilzrd
Bilzard
11 months
言語モデルの事前学習で「モデルサイズを大きくするにつれてバッチサイズを大きく、learning rateを小さく」というのが慣例になっているが、OpenAIのモデルでこれについて初めて言及したのがGPT-3で、gradient noise scaleという同社の先行研究による知見を反映したらしい。
Tweet media one
2
25
160
@bilzrd
Bilzard
1 year
LLMコンペ、推薦勢もぜひやってみて欲しい。 事前学習でモデルが学んでない知識をどのようにして与えるか?というのはLLMが隆盛の時代においても重要なテーマで、現状まだ未開拓な部分が多く発展の余地がある。 keywords: RAG(Retrieval-augmented generation)
1
7
155
@bilzrd
Bilzard
2 years
pytorchのデータローダで大量のpythonオブジェクト(list, dict etc.)を参照する場合に、オブジェクトの参照カウントがプロセス固有のメモリ空間に複製され、合計メモリ使用率を不必要に消費する問題の原因と対処方法について詳細に書かれたブログ。
2
25
144
@bilzrd
Bilzard
1 year
Cross validationでナイーブに計算したメトリクスの信頼区間は、真の信頼区間に比べてずっとせまい(=over confident)ことを証明した論文(らしい)。
1
18
139
@bilzrd
Bilzard
1 year
loss=NaNで死んだ事象と対応について記事にまとめました。
0
20
133
@bilzrd
Bilzard
1 month
KAN (Kolmogorov-Arnold Netrork) NNを関数近似としてみた場合、MLPの場合はaffine変換+非線形activationを基本単位としている。この基本単位は学習可能なパラメータを持つ1変数関数で置き換えても概ね実用的な関数では問題ないと考えられる。
Tweet media one
1
19
131
@bilzrd
Bilzard
1 month
なお、「QKを先に計算するのでなくKVを先に計算することでトークン長に対して線形計算量を実現する」アイデアは割と一般的な手法らしい。図はcosformerのもの。
Tweet media one
0
14
126
@bilzrd
Bilzard
2 years
私がこれまでKaggleコンペで使ったLB Probing手法についてまとめました。
0
6
127
@bilzrd
Bilzard
2 years
decord - 動画ファイルを機械学習向けに効率的にロードするために作られたフレームワーク。ランダムアクセスが高速で、トータルロード時間もOpenCVより数倍高速らしい。
0
26
123
@bilzrd
Bilzard
11 months
self-attentionの代替手法について、過去に取り上げた論文を中心に超ミニマムなsurveyを書いた。
0
9
115
@bilzrd
Bilzard
1 year
LoRA LLMを下位タスクにfine tuningするさい、元のモデルと同じサイズのパラメータ数と勾配更新が必要になる。提案手法は事前学習済みモデルの重みを固定し、重みの差分を1-4次元の極めて低次元の空間に押し込めることでメモリ消費とパラメータ数の劇的な削減に成功した。
Tweet media one
Tweet media two
Tweet media three
1
19
111
@bilzrd
Bilzard
1 year
LLMの生成結果をより「事実に基づいて」生成させることを目的とした手法。 コンセプトとしては「意味など知識に基づいた予測をする深いレイヤ」の予測結果から、「文法などの形式的な知識に基づく予測をする浅いレイヤ」の予測結果の影響を差し引くことで実現する。
1
15
107
@bilzrd
Bilzard
1 month
softmaxは「attentionの重みが1になる」という、解釈性と安定性のために導入したので、これがなくてもattentionの代替はできると思われる。だったらDCTを使わなくてももっとシンプルな計算で右の形式に変換できるような気もする。
@bilzrd
Bilzard
1 month
これがその図(論文より抜粋)。
Tweet media one
1
0
5
1
8
102
@bilzrd
Bilzard
2 years
擬似ラベルのデータリーク、図にするとこういうこと。
Tweet media one
1
8
102
@bilzrd
Bilzard
2 years
PANNs: 音声認識のための学習済み音声ニューラルネットワーク 本論文はYouTubeからダウンロードした大規模なdatasetを使ってCNNの重みを学習し、さまざまな下位タスクへの転移学習を可能にすることを意図して提案。 既存の研究では小規模なdatasetを使ったものしかなかった。
1
8
99
@bilzrd
Bilzard
2 years
金融や医学用途など、分類モデルのconfidenceが実際の確率に一致していて欲しい場合がある。浅いモデルではこの性質をよく満たすのに対し、深層学習においては成り立つとはかぎらない。 そこでconfidenceを実際の確率と一致するように後処理する手法がある。
1
13
99
@bilzrd
Bilzard
11 months
テキスト生成タスクにおいて、確率を最大にするタイプのdecoding手法では生成されたテキストが不自然だったり、表現の繰り返しが多用されることが知られている。本論文はこの原因が生成文中のトークンのembeddingが非常によく似ていることに起因するとし、
2
8
96
@bilzrd
Bilzard
1 year
Sophiaの論文読んだ(推定パート以外)。 SGDやAdamが不得意なパラメータごとの曲率の違いに適用するには二次微分(Hessian)を計算する必要があるが、一般的に高コストなので、統計的な推定値で代替しようというもの。 明快に書かれていて読みやすかった。
Tweet media one
Tweet media two
Tweet media three
1
13
93
@bilzrd
Bilzard
3 years
上位に日本人がいすぎて日本で位置推定が流行ってると思われてて草。
0
17
94
@bilzrd
Bilzard
1 year
Transformerのnormの位置に関する論文。最初に提案されたアーキテクチャ(post-norm)ではwarmupステップが必要で、パラメータに敏感だが、提案されたアーキテクチャ(pre-norm)ではwarmup不要、パラメータに敏感でなくなり、かつ収束も早くなるというもの。
Tweet media one
Tweet media two
0
12
93
@bilzrd
Bilzard
11 months
既存のLLMのscaling rawは学習データを1度しか利用しない前提で導出されたものだが、このまま学習データの増加が続けばインターネットのデータが枯渇することも懸念される。本論文では限られたデータを繰り返し利用することを前提にした修正版scaling rawについて調査した。
2
12
88
@bilzrd
Bilzard
11 months
推薦タスクで単一のretrieverに頼るのは悪手である場合が多いよう(Ottoもそうだった)。LLMの解法見てもRAGをアンサンブルするのが主流のよう。
1
6
89
@bilzrd
Bilzard
2 months
IPython notebookでメモリが解放されない謎事象は頻繁に経験するのだけど、最後の出力をキャッシュしてるの罠すぎる。そもそもこんな機能あるの知らなかったしデフォルトで無効化しても良いかも。
1
11
88
@bilzrd
Bilzard
1 year
LLM以前のfine-tuningは「事前学習になかった知識を与える」イメージだったが、LLMにおけるfine-tuningは「知識はすでに持っているが、生成する内容をタスクに合わせて人間の好む形に取捨選択する」イメージが強くなった。
0
10
86
@bilzrd
Bilzard
1 year
Early/Late Dropout: Dropoutは多くの人が直感的に「乱雑さを加えることで正則化する手法」と信じているが、本論文では学習の初期段階においては、逆に乱雑さを抑え、trainデータにfitする能力を高める効果があることを示した。
Tweet media one
Tweet media two
Tweet media three
1
11
86
@bilzrd
Bilzard
2 years
「pipは依存性解決する仕組みがない」と書こうとしたら、20.3以降は依存性解決する仕組みがあるっぽい。 生半可な知識で記事書けないよ。。
0
14
82
@bilzrd
Bilzard
11 months
StreamingLLM LLMのコンテクスト長の問題でbreak throughがあった。この論文はLLMの最初の1-4トークンにattentionが集中する現象(attention sink)を発見し、これらのトークンのattentionを保持し続けばsliding windowによるdecodingで性能劣化が起こらないことを示した。
Tweet media one
Tweet media two
Tweet media three
1
13
82
@bilzrd
Bilzard
10 days
vLLM - LLMをサーバ化するやつ RTX3090を使って8BパラメタのLLMを100ユーザ同時接続して13tokens/secで返せるらしい。 小規模チームの社内アプリくらいの負荷は余裕をもって捌けるのかな。
Tweet media one
0
10
83
@bilzrd
Bilzard
1 year
half precision trainingでハマりやすい罠だと思うんだけど、 eps=1e-8は0に丸められるらしい。
1
12
82
@bilzrd
Bilzard
4 months
気づいたらpytorch公式からtorchevalなるプロジェクトが生えていた。手取り早くGPUでメトリクス計算したい時に良い。 まだalpha版とのことだが、公式だけでエコシステム完結するの良い。
0
5
80
@bilzrd
Bilzard
11 months
Llama2-7Bモデルから特定のターゲット文章に関する知識を忘れる手法についての論文。 GPT-4でターゲット固有の固有名詞や表現をより一般的に(generic)な表現に置き換えた辞書を作成し、ターゲット固有の表現を出力しにくくなるラベルを作成してfine-tuningする。
Tweet media one
Tweet media two
Tweet media three
Tweet media four
1
13
77
@bilzrd
Bilzard
11 months
LLMの解法のまとめを共有しようと思ったが、実際の解法を読んでもらう方が良いと思ったのでやめた。 自分なりの総括はこんな感じ。
Tweet media one
1
3
75
@bilzrd
Bilzard
11 months
ML界隈で理論的な基礎づけがしっかりした手法が経験的な手法を上回ることは稀な印象。 インプットの見地から言うと読むのに時間かかる割に実用的に得るものが少なくて損した気分になる。 (もちろんだから要らないとは言ってないが)
1
2
75
@bilzrd
Bilzard
2 years
DART Boosting treeアルゴリズムにて前段の木をランダムにドロップさせることで、後段の木が少数インスタンスにのみ適合する「過度な専門化」と呼ばれる問題を緩和することを実現した手法。 NNにおけるDropoutと類似した手法。
2
8
73
@bilzrd
Bilzard
1 month
LEAPで得た知見。 NNは油断してるとターゲットの分布に基づくチート推論をしやすいらしい。 同じサンプルばかり見せるのではなく、強化学習におけるエピソード学習のように復元抽出を繰り返すことで汎化能力の高いモデルが学習できる場合があるらしい。
1
3
70
@bilzrd
Bilzard
2 years
Kaggleにおけるコーディング力、普通のソフトウェアエンジニアが持ってるような保守性の高いコードを書く能力はあまり必要なく、やりたいことを短時間に簡潔に実装するコスパの高さが求められていると感じる。
1
4
69
@bilzrd
Bilzard
2 years
4年前のKaggleコンペで元1位(現在は失格)のチームが行ったチート行為の顛末をまとめた記事。 最初リークとの違いが分からなかったが、スクレーピングという不正な方法で入手したデータを用いたこと、事後の発覚を防止するための各種工作によって不正と判断されたようだ。
0
8
69
@bilzrd
Bilzard
1 year
独習の難しいところは、間違った知識を身につけていることに自分で気づけないこと。本人はそれが正しいと信じているが、周りから見たらただの知ったかぶりおじさんになっている。
1
15
65
@bilzrd
Bilzard
3 years
信じられないけど9位。 運が良かっただけかは分からない。 体壊しながらも頑張った甲斐があった。
Tweet media one
2
0
65
@bilzrd
Bilzard
2 years
Polars, expressionはpythonオブジェクトだからこういう再起的な式もプログラマブルにかける。
Tweet media one
1
4
65
@bilzrd
Bilzard
1 month
辛くも金圏! 終了2時間前まで粘ってアンサンブルした甲斐あった。 直前までモデル学習してくれたチームメンバーに感謝!
Tweet media one
4
1
62
@bilzrd
Bilzard
2 years
bounding box annotationにおけるhuman-in-the-loopな手法の論文。 人間はbounding boxを作成せずに評価のみ行うことで、人間が介入する時間の短縮とアノテーションの精度向上の両方を実現した。
2
8
62
@bilzrd
Bilzard
2 years
Stochastic Gradient Boosting 著者はGBDTの生みの親の1人であるJerome H. Friedman。GDBTの各イテレーションでデータを非復元抽出することで正則化する手法。Gradient boostingやGDBT手法についても簡潔にまとめられていて参考になった。
1
9
61
@bilzrd
Bilzard
9 days
KV caching LMのデコードのさい、過去に処理したtokenのKVの値は再利用される。したがってQ/Vの計算結果をキャッシュすることでメモリ使用を犠牲にして処理速度を向上する手法。
Tweet media one
1
3
58
@bilzrd
Bilzard
10 days
PagedAttention LLMの推論時のスループットは主にVLAMによってcapされている。OSの仮想メモリのページネーションと同様のPagedAttentionという手法を使ってQV cacheのフラグメンテーションを回避。HF transformerの100倍のスループットを実現したらしい。
Tweet media one
1
10
58
@bilzrd
Bilzard
2 years
PyTorch 2.0が試験的リリース。モデルのコンパイル機能が追加され、既存のコードに1行追加するだけで高速化の恩恵を得られる。
Tweet media one
Tweet media two
Tweet media three
0
7
57
@bilzrd
Bilzard
2 years
コンペ終了後の儀式:Trelloのボードの記念撮影。
Tweet media one
2
0
57
@bilzrd
Bilzard
1 month
AttentionとKernel法との関連を指摘した先行研究にはCosFormerがある。この論文では「非線形なsoftmax attentionが分解できない」ことを問題視していて、Sofrmax attentionの1) 正値性と2) normalizationによる汎化性能を満たす代替の処理を提案する。
1
7
57
@bilzrd
Bilzard
8 months
畳み込みのpaddingサイズの設計とpixelの位置ずれについて
0
5
54
@bilzrd
Bilzard
8 months
YOLOのように「中身良く知らんけどなんか強いから使った」みたいな解法を皆がし始めるとKaggleがつまらなくなるので、少なくとも自分のパイプラインはbuilding blockに分解してタスクごとに組み替えられるようにしておきたい。
1
1
53
@bilzrd
Bilzard
14 days
Sentence embeddingタスクで目的関数に複素数の相対角に基づくlossを加えることで改善したと主張する論文。 著者らによるとcosine内積では0と1付近で勾配消失する問題に対処したとのこと。
1
8
52
@bilzrd
Bilzard
1 month
チームメイトのパイプライン再現してて気づいたことは、「データをたくさん食わせて長時間学習させること」がNNの王道解法だということ。 自分のパイプラインだとLR全部食わすと3日程度かかる計算だったので諦めていたが、アーキテクチャを簡素化すれば1日程度で十分強いモデルになった。
1
4
50
@bilzrd
Bilzard
1 year
コンペ終わった直後に届くやつ。
Tweet media one
1
0
49
@bilzrd
Bilzard
11 months
Headless Language Model 言語モデルの事前学習において最終層のprojectionとsoftmaxの計算に多くのメモリを消費する。 提案手法はheadを取り払い、入力系列のembeddingを復元する形式の学習タスクに置き換えることで、訓練時間とメモリ消費を削減するというもの。
Tweet media one
1
1
49
@bilzrd
Bilzard
1 year
何から手をつけたら良いか分からない人はChrisのdiscussionから入ると良いと思う。 アプローチの概要を分かりやすく説明している。
0
1
48
@bilzrd
Bilzard
3 years
#JQuants ニュース分析コンペで最終提出したモデルの学習につかったnotebookを共有します。 取り急ぎnotebookに説明を加えただけ、という感じですが、余裕があればもうすこしまとまったものを記載します。 コンペに参加してない人用:
0
6
47
@bilzrd
Bilzard
11 months
直近で読んだ勾配ベースの最適化手法についてのまとめ。
0
6
47
@bilzrd
Bilzard
1 year
ラベルのmisalignmentが起こる想定原因について説明しました。
Tweet media one
Tweet media two
0
3
47
@bilzrd
Bilzard
2 months
@tetsuro731 testデータの順番が場所、時系列通りだったので場所、時系列解法を望まないホストが新たなtestデータをシャッフルして2week延長→終了6日前にあるユーザが「特徴から完全に場所と時系列を特定する方法を公開」→今ココ
1
5
47
@bilzrd
Bilzard
1 year
UNETR(UNEt Transformers) 3次元ボクセル画像のセグメンテーションに開発されたU-NetとTransformerを組み合わせたアーキテクチャ。 3次元画像をパッチに分割して1次元のシーケンスにデコードし、中間の層の異なる解像度のembeddingをU-Netでデコードする。
Tweet media one
Tweet media two
0
7
46
@bilzrd
Bilzard
1 year
間違ってたら指摘して欲しいんですが、multi stageの予測モデルで1st stageのOOF予測値を使って2ndStageの目的変数を予測したらリークしているように見える。 図は変数どうしの依存関係を表したもの。例えば赤線で示したようにfold2のラベルが2段目のfold2のOOF予測値に繋がる経路がある。
Tweet media one
2
5
44