Lumen

Lumen

Eager to know more, about the world, about the intelligence, and about myself.
github

2024-03-20 インサイト

前言#

これは新しいシリーズであり、継続する場合はカテゴリーとして独立させます。これは、叶弈宁 に触発されたシリーズであり、彼は自身のブログで LLM に関連する論文のインサイトを毎日更新しています。彼は、彼のインサイトの執筆について、谭院士のブログからのインスピレーションを受けたと言っていますが、谭院士のスタイルはあまりにも簡潔すぎるため、私はそれを模倣したくありません。

私にとって、論文は私の人生で最も重要な部分ではありません。したがって、私のインサイトはもっと生活に向けており、自分自身の方向性を理解するためのものです。

以前、xlog でブログを書いていたとき、私は公開的に毎週のまとめを行っていましたが、その後、私の毎週のまとめは自己独白に変わりました。つまり、前日と翌日の自分に手紙を書くことです。このような内容は公開には適していませんが、この習慣は断続的に半年以上続いており、非常に良い練習だと思います。

このような対話では、自分自身との対話にはプレッシャーがないため、最も言いたいことを抽出することはありません。内容の冗長さも、将来の頻度での振り返りを減らすために低下し、私の人生を記録するという最初の目的に反するものです。

したがって、私は自分のまとめを再び公開空間に移し、共有に適した部分をまとめ、興味深いものや自分の気づきについての毎日の内容を整理し、公開のプレッシャーを利用して、毎日覚えておく価値のある内容を抽出します。

Debug の経験#

最近、私の中心的な仕事は、論文の新しい実験を再構築することです。時には、完全にアイデアがないように見えるバグに直面することがあります。例えば、モデルとテンソルが cuda:0 上にあるのに、"not on the same device" というエラーが発生するなどです。

Eugenio は以前、深層学習のヒントとまとめを提案しましたが、その中の 1 つはデータと一緒にいることです。データの視点から、パイプラインを流れ、問題を参加者の視点から見ることができます。

最近のデバッグの多くは、このようなアプローチに頼っています。本当にアイデアが全くないと感じるとき、最後の解決策は常にデータに従って前に進み、さらに関数にステップインして前に進むことです。データの視点から、エラーが発生する場所までステップバイステップで進むのです。

メタの初歩的なミス#

最近、v-jepa のリポジトリを見ていましたが、ライブラリ内での使用は問題ありませんでしたが、外部から呼び出そうとすると問題が発生しました。不思議なことに、このライブラリはすでにインストールされていることが確認されていましたが、setup.py で定義されたライブラリ名 jepa を呼び出すことができませんでした。

最終的に、作者がリポジトリの形式に注意を払っていなかったことがわかりました。Python のプロジェクトには、通常、2 つのディレクトリ形式があります。1 つはライブラリ名をソースファイルのフォルダ名として使用する方法であり、もう 1 つは src / ライブラリ名の形式です。

# 方法1
example_python_project  
├── example_python_project  
   ├── __init__.py  
   └── something.py  
└── setup.py

# 方法2
example_python_project  
├── setup.py  
└── src  
   └── example_python_project  
       ├── __init__.py  
       └── something.py

これらの方法のいずれも正常に認識され、ソースコードも example_python_project に登録されます。しかし、このメタが選んだのは両者の中間であり、src を使用していますが、プロジェクトと同じ名前のサブフォルダはありません。

したがって、彼のすべてのソースファイルは src に登録されてしまいます。

そして、作者は間違ったままで、リポジトリ全体でfrom src.xxx.xxx import xxxのような形式を使用し続けました。これはおそらく相対インポートと誤解していたもので、プロジェクトのルートディレクトリからのインポートという意味です。しかし、ほとんどのコマンドはルートディレクトリで実行されるため、彼は問題に気付きませんでした。

しかし、これは非常に不合理な操作です。私はソースコードを見ているときも、この問題に気付くことはありませんでした。src.xxx.xxx の形式で jepa 内のライブラリをどこでも参照できることに気付いたとき、FAIR で働いている人々が、自分のプロジェクトでこのような初歩的なミスを犯すことができるということに気付きました。

私が読んだもの#

罗磊の記事「私の妻が肺癌と診断されました、あなたの助けをお願いします」は、彼の妻が肺癌と診断された過程を詳細に記録しています。それを見て、私は非常に悲しく感じ、共感し、同様のことが私の家族に起こることを非常に恐れています。

上記の記事で彼のブログを発見し、彼が自分自身が最近 2 年間で中国のインターネットから切り離されていることを詳しく説明した記事を見ました。私は自分の心境と非常に似ていると感じました。プライバシーに関係のない一部のソーシャルメディアや、完全に逃れることができないいくつかの悪名高いソーシャルアプリケーションを除いて、私はほぼ完全に中国のインターネットから消えてしまいました。セルフホスト(主な方法)と海外の代替サービスを通じて、私は自分のプライバシーが本当に私のものであり、誰かが利益を得るためのツールになることはなく、小さな人々が自由にアクセスできるものになることはありません。OSS 運動の存在に非常に感謝しています。それによって私はこのような選択肢を持つことができます。

その他#

  • シビライズシックスの OST はとても素敵です。古代のスカボローフェアのような古代のスタイルを聴くことができますが、これは明らかに彼の時代を古代に投影しただけであり、人々が民族を「古来からの」属性として見る偏見を再創造しただけです。
  • nn.Module には必ずしも device 属性があるわけではありません。
  • フライブルクの近くにある村に住んでいて、毎晩自転車で家に帰ると、空に満天の星が見えます。心の中のその一片が寂しさなのか驚きなのか、はっきりとは分かりません。
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。