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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

言語モデルの倫理的・社会的リスクについて

このホワイトペーパーでは、6 つの具体的なリスク領域について概説しています。I. 差別、排除、毒性、...

...

人工知能はどのようにして銀行をより「インテリジェント」にすることができるのでしょうか?

[[263447]]人工知能技術の継続的な導入は、新たな産業発展の中核的な原動力となり、さまざまな...

Google Brain の新しいアルゴリズムは TPU を使用せずに AI トレーニングを高速化できる

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

2021年に注目すべき10の重要なディープラーニングアルゴリズム

[[416068]] [51CTO.com クイック翻訳]人間が未来を予測することは困難ですが、人工...

未来の世界:すべてが AI になる?

人工知能は私たちの日常生活にますます大きな影響を与えており、研究分野に革命をもたらしています。 ET...

Open Interpreterは、大規模な言語モデルのコードをローカルで実行できるようにするオープンソースツールです。

最近、Github を閲覧していたところ、Open Interpreter という魔法のツールを見つ...

このトレンドは止められない!すべてのデータ サイエンティストが知っておくべき 5 つのグラフ アルゴリズム

すべてがつながっている世界では、ユーザーは独立した個人ではなく、何らかの形で互いにつながっています。...

言語モデルは時間をどのように認識するのでしょうか?時間ベクトルについてさらに詳しく

言語モデルは正確にはどのようにして時間を認識するのでしょうか?言語モデルの時間認識をどのように利用す...

Baiduの新しいAIインフラがCIFTISでデビューし、CTOの王海峰が業界インテリジェンスの推進におけるBaiduの成果を紹介

AIはあらゆる分野に新たな活力を吹き込み、AIの新しいインフラはサービス貿易部門を含む社会経済の発展...

PyTorch と TensorFlow のどちらが優れていますか?最前線の開発者の声

Theano、TensorFlow、Torch、MXNetから最近人気のPyTorchなど、ディープ...

Tongji と Alibaba は CVPR 2022 最優秀学生論文賞のためにどのような研究を行いましたか?これは、

この記事では、CVPR 2022 最優秀学生論文賞を受賞した私たちの研究「EPro-PnP: 単眼物...

DNAを使って画像を直接保存する「生きた細胞カメラ」は96ピクセルの解像度を持つ

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

Baidu Apollo がインテリジェント時代のモバイル空間「Apollo II」を正式に開始

2021年8月5日、百度アポロの新世代自動運転ミニバス「アポロII」が広州市黄埔で正式に公開されまし...