見出し画像

What is "Weights & Biases"?

2023年4月のWeights & Biasesミートアップに参加しました(W&B 東京ミートアップ #3 - Optuna と W&B)。Weights & BiasesはOpenAIも使っている注目のML開発ツールですが、この記事では簡単にWeights & Biasesという会社についてまとめたいと思います。

Weights & Biases(以降WB)はAIの開発者向けのコラボレーションプラットフォームを提供する会社です。すでに700社以上の最先端のAI開発で使われており、個人ユーザーも含めると、世界で50万人以上(!!)のML開発者に使用されているplatformです。(WBのHomepage : english, japanese)
WBはML開発者のために様々な機能を提供していますが、いくつかの機能をみていきます。

WBが提供する機能 (Homepageより)

代表的な機能1: Experiments

一番最初はExperimentsという機能から始まりました。Experimentsは、自身のcodeに数行WBのcodeを追加するだけで、ML開発時に下記のことが実現できます。

  • lossやGPU・CPUをトラック

    • 特にDeep Learningは非常に計算時間が長いため、きちんと学習が進んでいることをリアルタイムに確認することは、時間を無駄にしないために非常に重要になります。

    • 精度だけではなくGPUの使用率なども確認できるため、GPUがサチっていないか、逆にGPUの使用率をもっと上げて計算を高速に回すことができないかといったことも考えることができるようになります。2週間の計算が1週間になるだけで、生産性は爆上がりです。

  • 性能評価を簡単に視覚化して確認

    • 結果を数行のコードで簡単に視覚化することができます。しかもinteractiveにグラフを確認することができるため、どの条件が有効であったのか、深掘りしやすくなります。

  • 使用したコードやデータと一緒に、試した実験を自動的に記録(共有可能)

    • モデリングの際には、様々な条件を試す必要がありますが、一回一回エクセルで条件をまとめていては時間がかかりますし、属人的になってしまいます。MLの開発では、Reproducibility(再現性)があるかどうかで生産効率が大きく変わります。実際、過去の実行条件を見失ってしまうことや、Documentでまとめられたように実行をしてもなかなか再現できず、時間ばかりが経過してしまうことはよくある問題です。WBを使用すると、自動的に試行1回1回の結果を使用したコードとデータと一緒に保存することができるので、簡単に過去のversionを再現することができます。共有もすることができるので、ExperimentsがあることでML開発を個人だけではなく、チームでスムーズに行うことができます。

精度やGPUの使用率のトラッキングできるExperiments (Homepageより)

代表的な機能2 : Artifacts

WBではArtifactsという機能で、使用したデータやML開発の途中過程で得られたデータを保存することができ、それをWB内で可視化することができます。さらに可視化されたデータは、interactiveにヒストグラムにしたり、画像であればラベルを隠したり表示させたりすることもできるようになっています。version管理だけではなく、視覚化も優れているので、エラー分析がスムーズに行えます(結構便利です!)。
データや結果のversion管理が簡単に行え、そしてそれを視覚的にtrackすることができる洗練された設計になっています。

データのversion管理を簡単に行えるArtifacts (Homepageより)

代表的な機能3: Reports

WBの中でreportも作成することができます。その中での結果の数字やグラフは一から作成する必要はなく、すでに回したExperimentから引っ張ってくることができ、しかもグラフはinteractiveに確認することができるようになっています(系列の選択や軸の変換、集計方法の変更など)。もちろん、それをチームに共有することも可能です。Reportを生産性高く作ることができるだけでなく、グラフをパワポで作るといった過程を踏まずに生の結果をそのまま表示させるという設計が、透明性と再現性、生産性を爆上げしてくれます。

結果をそのまま使えるReports (Homepageより)

その他機能

AutomateMLを実現する"LAUNCH"や、Hyperparameterをtuniningするための"SWEEP"なども提供されています。また、直近ではLLMsのための"PROMPTS"も発表され、どんどん開発が進んでいます。(それらについても、どこかでまとめていこうと思います。)

その他の特徴: MLフレームワークに対してAgnostic・さまざまなインフラに対応!

WBの特徴の一つは、幅広いMLフレームワークに対応しているという点です。フレームワークに依存せず柔軟に使えることを英語ではAgnostic(日本語に直訳すると不可知論者)というのですが、WBはまさにAgnosticです!また、オンプレも含め、様々な学習環境にインストールすることもできるようになっています。環境やフレームワークが群雄割拠の時代において、Agnosticである点は非常にcoolですね。

WBのエコシステム (Homepageより)

まとめ

最先端のML開発者が選ぶツールであるWeights & Biasesを紹介しました。私もWBを実は使うのですが、自分が好きなLibraryに対してWBを柔軟に使えながらも(Agnostic!)、結果の管理や視覚については洗練され、統一された画面で確認をすることができるポイントが非常にcoolです。
Documentやblog、トレーニングコースもHomepageからアクセスできるので、詳しくはそちらをご確認ください!


この記事が気に入ったらサポートをしてみませんか?