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

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

推薦する

AI研究所が超大規模知能モデル「Wudao 1.0」をリリース

3月20日、北京人工知能研究院は超大規模知能モデル「五道1.0」を発表した。 「五道1.0」は中国初...

AIは機械設計にどのような影響を与えるのでしょうか?

人工知能は現在、ますます広く利用されるようになっています。ほとんどの場合、堅牢で適応性の高い AI ...

機械学習の錬金術の理論的根拠はどれほど強固なのでしょうか?

機械学習の分野は近年急速に発展しています。しかし、機械学習理論に対する理解は依然として非常に限られて...

米シンクタンクの報告書:中国のAI人材流出、大半が米国へ

中国のAI研究者の数は過去10年間で10倍に増加したが、そのほとんどは海外、主に米国に居住している。...

顔認識の専門家、王国天氏:人工知能、機械学習、機械視覚とは何ですか?

昨今、人工知能はますます話題になり、応用されていますが、人工知能、機械学習、マシンビジョンとは一体何...

心理意味論の観点から見た顔認識

人々は日常生活の中で、見知らぬ人の顔だけでなく、身近な親戚、友人、同僚、有名人の顔など、さまざまな顔...

人間の心臓細胞から作られたロボット魚は本物の魚よりも速く泳ぐ。ハーバード大学の新しい研究がサイエンス誌に掲載される。

心臓ペースメーカーの正確なメカニズムはわかっていませんが、この物理的プロセスを再現する「心臓」を私た...

【専門家がここにいるエピソード3】大量ログ分析とインテリジェントな運用・保守

1. AIOpsとインテリジェントログセンター1.1 AIOps の 5 つのレベルインテリジェント...

Pythonで簡単な顔認識を実装すると、私はこの星にとても似ていることが判明しました

近年、人工知能の人気が急上昇しており、画像認識、音声認識、機械翻訳、自動運転車など、AI の能力と威...

【ビッグネームがやってくる、エピソード10】柔軟なビッグデータクラウド分析プラットフォームを構築するためのハードルはゼロ

[51CTO.com からのオリジナル記事] ビッグデータとビッグデータ分析は、現在、企業の注目の的...

固有値分解から共分散行列へ: PCA アルゴリズムの詳細な分析と実装

この記事では、まず固有ベクトルと行列との関係を簡潔かつ明確に紹介し、次にそれを基に共分散行列と主成分...

北京大学とテンセントは、デザイナーと同じくらいクリエイティブなテキストロゴ生成モデルを提案した。

テキスト ロゴのデザインはデザイナーの創造性と経験に大きく依存しますが、その中でも各テキスト要素のレ...

人工知能がサプライチェーンに及ぼす8つの影響

サプライチェーンに影響を及ぼす人工知能 (AI) について知っておくべき 8 つの方法をご紹介します...

...