何か効率的な「錬金術」アーティファクトをお勧めいただけますか? 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はあなたの建物をスマートで健康的な建物にします

ブログ    
ブログ    

推薦する

...

エッジコンピューティングの価値はデータにある

企業はビジネスニーズの変化に応じてスケールアップおよびスケールダウンできるコンピューティングおよびス...

108 言語をサポートする Google 翻訳は、AI をどのように活用して翻訳の品質を向上させているのでしょうか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

クロスモーダルトランスフォーマー: 高速かつ堅牢な 3D オブジェクト検出に向けて

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

PaddlePaddle と TensorFlow の比較分析

【51CTO.comオリジナル記事】この記事では主に、フレームワークの概要、システム アーキテクチャ...

...

15年以内に恐竜を繁殖させる、マスクは恐竜を​​月に送りたいのか?

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

AIはビデオを流暢に解釈できますか? Vista-LLaMAはこの「錯覚」の問題を解決します

近年、GPT、GLM、LLaMAなどの大規模言語モデルは自然言語処理の分野で大きな進歩を遂げており、...

人工知能を活用して機密情報を保護する 5 つの方法

研究者たちは、人工知能技術が機密情報のセキュリティを確保するための非常に優れたツールであることを発見...

スマートシティの発展: 複数の接続デバイスと人工知能の重要な役割

コネクテッドデバイスの急速な普及により、スマートシティのコンセプトが現実に近づきつつあります。これら...

防衛とセキュリティの再定義に貢献するAIスタートアップ

人工知能の誕生は第二次世界大戦中に連合国が暗号解読機を開発し、それがナチスドイツのエニグマ暗号を解読...

ロボットがすべての仕事を奪ったら、人間はどうなるでしょうか?

[51CTO.com クイック翻訳] 過去1年間、人工知能と自動化技術が人間の雇用と労働市場に与え...

OpenAIの取締役会が数秒で後悔!ウルトラマン、CEOに復帰要請

たった1日で、OpenAIの取締役会は劇的に変化しました。最新のニュースによると、ウルトラマンがCE...

世界モデルが大きな貢献を果たしました! 20以上の自動運転シナリオの偽データがリアルすぎる…

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...