何か効率的な「錬金術」アーティファクトをお勧めいただけますか? Fudan fastNLPチームが内部パラメータ調整ツールfitlogをリリース

何か効率的な「錬金術」アーティファクトをお勧めいただけますか? Fudan fastNLPチームが内部パラメータ調整ツールfitlogをリリース

このパラメータ調整ツールは、実験結果の表形式表示、カスタムメモ、フロントエンド操作の記録の削除/非表示、自動 git コミットなどの多くの機能を統合しており、「エリクサーの改良」を効率的に行うのに役立ちます。

「時間を大幅に節約できるディープラーニング効率化ツールはありますか?」誰かが Zhihu でこの質問をしました。回答セクションでは、復旦大学コンピュータ科学技術学院の准教授である Qiu Xipeng 氏が、同大学の研究室で使用されている強力なパラメータ調整ツールである fitlog を紹介しました。

fitlog は、自動バージョン管理と自動ログ記録を統合した Python パッケージです。復旦大学コンピューター科学技術学院の自然言語処理および深層学習グループの fastNLP チームによって開発されました。実験を行う際に、現在のコード、パラメータ、結果を簡単に保存できます。

Qiu Xipeng 教授によると、fitlog には、実験結果を Tabular で表示したり、バックグラウンドでコードを自動的に git コミットしたり、ハイパーパラメータを視覚化したり、アーキテクチャに依存しない TensorFlow、Pytorch をサポートしたりするなど、非常に実用的な機能が多数あるそうです...

実験結果が理想的でない場合、fitlog はレコードを削除したり非表示にしたりするフロントエンド操作もサポートしており、ネットユーザーが「素晴らしい」と叫ぶことができます。

さらに、figlog のインストールは非常に簡単で、pip install fitlog を使用して完了できます。

  • GitHub アドレス: https://github.com/fastnlp/fitlog
  • 中国語のドキュメント: https://fitlog.readthedocs.io/zh/latest/

fitlogはどれくらい便利ですか?

Machine Heart の読者は、パラメータを効率的に調整できる TensorBoard をご存知だと思います。 TensorBoard は強力で美しいインターフェースを備えていますが、それでも私たちの日常の「錬金術」のニーズをすべて満たすことはできません。 fitlog を使用すると、ディープラーニングにおけるパラメータ調整の問題点を解決できる可能性があります。その機能を見てみましょう。

表形式を使用して実験結果を表示する

fitlog は、実験結果を表示するために表形式を使用することをサポートしており、これにより、さまざまなハイパーパラメータ間の比較が容易になります。下の図に示すように、表の各行は実験を表します。

具体的には、fitlog は次のことが可能です。

  1. グループ操作をサポートし、特定のデータ セットまたはパラメータのパフォーマンスを簡単に表示できます。
  2. ソートをサポートしており、最も強力なハイパーパラメータが一目でわかります。
  3. 強迫性障害の人を救うために列の順序と表示のカスタマイズをサポートします。

4. 特定の実験のカスタムメモをサポートします。

5. SOTA の結果との比較を容易にするために、他の人の実験パフォーマンス データを追加するためのフロント エンドをサポートします。

6.平均値と標準偏差の計算をサポートします。

7. 実験結果が理想的でない場合、fitlog はレコードを削除および非表示にするフロントエンド操作をサポートします。

8. 分析のニーズを満たすために、Excel、CSV、TXT、JSON などの形式へのエクスポートをサポートします。

9. メトリクスを記録する

機械学習では、トレーニング プロセスがどのように進んでいるかを理解するために、損失などのいくつかの重要なメトリックの使用が必然的に必要になります。これらのメトリックは、モデルが過剰適合しているかどうか、またはまだ改善の余地があるかどうかを判断するのに役立ちます。さらに、これらのメトリックを比較することで、ハイパーパラメータを調整し、モデルのパフォーマンスを向上させることができます。

次の図は、fitlog を使用して記録されたメトリックを示しています。

次の図は、TensorBoard を使用したスカラー記録の概略図を示しています。

上記の 2 つの図から、メトリックの記録に関しては、fitlog と TensorBoard のエクスペリエンスが非常に似ていることがわかります。

バックグラウンドでの自動gitコミットコードのサポート

実験結果を再現するにはハイパーパラメータだけでは不十分なので、fitlog はバックグラウンドでユーザー向けの自動 git コミットコードをサポートしています (fitlog はコード管理に git を使用しますが、開発者自身が管理する git とは競合せず、並列化されています)。特定の実験のコードにロールバックする必要がある場合は、フロントエンドで「ロールバック」をクリックするだけで実行できます。 fitlog はユーザーが乱数シードを管理するのにも役立ちますが、pytorch などのディープラーニング フレームワークのランダム性は解決できません。

ハイパーパラメータの可視化

ディープラーニングには多くのハイパーパラメータの調整が伴います。場合によっては、ハイパーパラメータの適切な組み合わせによってもたらされるパフォーマンスの向上が、一部のアルゴリズムの向上を上回ることもあります。したがって、これらのハイパーパラメータがモデルのパフォーマンスに与える影響を記録することが重要です。メトリックを選択し、さまざまなハイパーパラメータの組み合わせにおけるこのメトリックの変化傾向を視覚的に表示することで、ハイパーパラメータ検索の効率を大幅に向上させることができます。そして、fitlog は必要な視覚化を提供します (下の図の各行は実験を表し、左端の行は開発環境でのパフォーマンスです)。

この関数は、次の図に示すように、TensorBoard の HParams に似ています。

アーキテクチャに依存せず、TensorFlow および PyTorch で使用可能

fitlog はアーキテクチャに依存せず、Tensorflow と PyTorch の両方で使用できます。自然言語処理に加えて、コンピュータービジョンのタスクにも使用できます。自然言語処理タスクの場合は、fastNLP フレームワークと組み合わせて使用​​できます。メトリックと損失の自動記録を実現するには、3 行または 5 行のコードのみが必要です。

改善すべき点

軽量ツールである fitlog にも、次のような欠点があります。

  • モデル出力の画像の保存はサポートされていませんが、トレーニング中のテキスト出力の表示はサポートされています。
  • 損失とメトリック以外の曲線の表示はサポートされていません。

たとえば、入力データを表示し、ネットワーク層の重みを視覚化する必要がある場合、画像を記録して表示すると非常に役立ちます。次の図は、TensorBoard に表示された Fashion-MNIST データセットの画像をいくつか示しています。

さらに、混同行列を視覚化することは、分類モデルのパラメータを調整するのにも役立ちます。混同行列は、機械学習で分類モデルの予測結果を要約するために使用される分析方法の 1 つです。混同行列は、実際のカテゴリとモデルによって予測されたカテゴリを要約する行列の形式を使用して、モデルが予測のパフォーマンスが優れていないサンプルをより直感的に理解できるようにします。下の図から、分類モデルがシャツ、T シャツ、プルオーバーを混同していることがはっきりとわかり、モデルの予測性能を向上させる必要があります。

上記の機能は fitlog では使用できません。これが必須の機能である場合は、今のところ TensorBoard を選択する必要があるかもしれません。

<<:  自動運転車インフラの新たなビジョン

>>:  AIはあなたの建物をスマートで健康的な建物にします

ブログ    
ブログ    

推薦する

携帯電話の顔認識は本当に安全ですか?

​​​ [51CTO.com クイック翻訳]顔認識は、セキュリティメカニズムとして、ますます多くの携...

ファーウェイ、次世代スマート製品戦略と新+AIシリーズ製品を発表

[中国、上海、2019年9月18日] ファーウェイはHUAWEI CONNECT 2019で、Eng...

150億のパラメータと60%以上の初回合格率を持つHuaweiの大規模モデルが登場、コーディング能力はGPT3.5を超える

大規模モデルが AI 開発の新たなパラダイムとなるにつれ、大規模言語モデルをプログラミング分野に統合...

機械学習に関する9つの誤解

機械学習のようにテクノロジーが大々的に宣伝されると、多くの誤解が生じます。ここでは、機械学習が提供で...

「手抜きアルゴリズム」は大企業をターゲットにしており、これがそれだ

[[342088]]基本的なデータ構造の統合は、大規模システムの基礎となります。たとえば、Redis...

MITのロボットは、浸透する無線周波数を使って隠れた物体を感知する

[[391062]]海外メディアの報道によると、世界中の研究者がロボットが周囲の状況をよりよく認識...

2022年の自動運転のトップ10トレンドが発表されました。データインテリジェンスシステムは、自動運転の商用化のクローズドループの鍵となるでしょうか?

「2022年は自動運転産業の発展にとって最も重要な年となるだろう。乗用車の運転支援分野での競争は正...

...

...

協働ロボットは従来のロボットとどう違うのでしょうか?

協働ロボットは従来のロボットとどう違うのでしょうか? [[418520]]本質的には、協働ロボットと...

...

ピアソンとマイクロソフトリサーチアジアが人工知能技術を活用したパーソナライズ学習の強化に協力

北京、2018 年 1 月 31 日 – 昨年の英語学習アプリ「Longman Xiaoying」の...

JD.com は今後 10 年間で従業員の 50% を解雇するでしょうか?ジャック・マー氏も人工知能が仕事を奪うことについて言及している

最近、劉強東氏は、今後10年間でJD.comの従業員数を現在の16万人から8万人に減らし、1人当たり...

堅牢な機械学習アルゴリズムの構築方法: ブースティングとバギング

[[211376]]機械学習とデータサイエンスの作業は、単にデータを Python ライブラリに渡し...

クルーズの自動運転意思決定・計画技術の分析

クルーズ社の自動運転意思決定計画および制御部門の責任者であるブランドン・バッソ氏は、コロンビア大学で...