300 万行から 100 行へ: 機械学習により開発エクスペリエンスが向上

300 万行から 100 行へ: 機械学習により開発エクスペリエンスが向上

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

このシナリオは悲惨です。失敗したソフトウェア ビルドの 2.5 GB のログ エントリ (300 万行) を参照して、100 万行目で発生したバグや回帰を見つけるのは、手動で行うにはあまりにも困難です。

幸いなことに、あなたを救う巧妙なトリックがあります。diff コマンドを実行して、これらの行を最新の成功したソフトウェア ビルドと比較し、バグによってログに予期しない行が生成されることを期待します。

[[338157]]

標準の md5 diff コマンドは高速ですが、行間の文字レベルの違いを表示するため、少なくとも数十万の候補行が生成され、それらを調べることになります。機械学習の K 最近傍クラスタリング (logreduce が行うもの) とファジー差分アルゴリズムを使用すると、約 40,000 行の候補行が生成されますが、完了するまでに 1 時間かかります。

当社のソリューションは、20 分の計算時間で 20,000 行の候補を生成します。オープンソースであるため、実装に必要なのは Python コード約 100 行だけです。

このアプリケーションは、ニューラル埋め込み (単語や文章の意味情報をエンコードする) と局所性に敏感なハッシュ (ほぼ近いアイテムを同じビンに効率的に割り当て、遠いアイテムを別のビンに割り当て) を組み合わせています。組み込みシステムと LSH (Locality Sensitive Hashing) を組み合わせるのは素晴らしいアイデアですが、登場してからまだ 10 年も経っていません。

私たちは転移学習のために CPU 上の Tensorflow 2.2 を、K 近傍法のために scikit-learnNearestNeighbor を積極的に使用しました。実際には、モデルベースの最近傍解に適した、洗練された近似最近傍実装がいくつかあります。

組み込みシステムとは何ですか? なぜ必要なのですか?

典型的な出発点は、非構造化または半構造化テキストの重複排除、検索、類似性の問題を対象とする k-hot bag-of-words モデルを構築することです。このタイプの bag-of-words エンコーディングは、個々の単語とその数を含む辞書によく似ています。 「ログインエラー、チェックログ」という文を例に挙げます。

  1. {“ログ”: 2, “入力”: 1, “エラー”: 1, “チェック”: 1}

このエンコーディングはベクトルとして表すこともできます。この場合、インデックスは単語に対応し、値はカウントになります。 「log in error, checklog」を例にとり、これをベクトルでどのように表現できるかを示します。最初のエントリには「log」の単語数、2 番目のエントリには「in」の単語数などが含まれます。

  1. [2、1、1、1、0、0、0、0、0、…]

このベクトルは多数のゼロで構成されていることに注意してください。ゼロ値のエントリは、辞書にはあるが文には現れない他のすべての単語を表します。可能なベクトルエントリの総数、つまりベクトルの次元は、言語辞書の容量です。通常はエントリが数百万以上になることがあります。しかし、巧妙なテクニックを使えば数十万まで減らすことができます。

ここで、「問題認証」の辞書とベクトル表現を見ると、最初の 5 つのベクトルエントリに対応する単語は新しい文にはまったく表示されません。

  1. {“問題”:1, “認証”:1}
  2. [0、0、0、0、1、1、0、0、0、…]

2 つの文は意味的には類似しており、本質的には同じ意味を持ちますが、同じ単語がまったく含まれていないため、語彙的には異なります。あいまい区別設定では、これらの文は類似しすぎて強調表示されない可能性がありますが、K 最近傍アルゴリズムの md5 および k-hot ドキュメント エンコーディングではこの機能はサポートされていません。

次元削減では、線形代数または人工ニューラル ネットワークを使用して、意味的に類似した単語、文、およびログ行を、「埋め込み」で表される新しいベクトル空間内に近く配置します。この例では、「ログにエラーがあります。ログを確認してください」には 5 次元の埋め込みベクトルがある可能性があります。

  1. [0.1、0.3、-0.5、-0.7、0.2]

「認証の問題」は次のようなものである可能性があります:

  1. [0.1,0.35, -0.5, -0.7, 0.2]

k-hot bag-of-words の対応するものとは異なり、これらの埋め込みはコサイン類似度などの距離メトリックによって互いに近く、高密度の低次元表現はビルド ラインやシステム ログなどの短いドキュメントに役立ちます。

実際には、数千以上の辞書次元を、5 つの情報埋め込み次元ではなく 100 に置き換える必要があります。最先端の次元削減方法には、単語共起行列の特異値分解 (GloVe) や特殊なニューラル ネットワーク (word2vec、BERT、ELMo) などがあります。

クラスタリングとは何でしょうか? ログ記録アプリケーションの構築に戻りましょう。

Netflix は、時々ビデオをストリーミングするログ生成サービスだと冗談を言っています。例外監視、ログ処理、ストリーム処理などの領域では、1 秒あたり数十万件のリクエストが処理されます。テレメトリとログの領域に機械学習を適用する場合は、NLP ソリューションを拡張する必要があります。

[[338158]]

画像ソース: unsplash

そのため、私たちはテキスト重複排除のスケーリング、意味的類似性検索、テキスト外れ値検出などの問題に重点を置いています。これは、ビジネス上の問題をリアルタイムで解決する必要がある場合に唯一の解決方法です。

diff コマンド ソリューションでは、各行を低次元ベクトルに埋め込み (同時に埋め込みモデルを「微調整」または更新するオプション付き)、それをクラスターに割り当て、異なるクラスター内の行を「異なる」ものとして識別します。局所性に敏感なハッシュは、一定時間のクラスター割り当てとほぼ一定時間の最近傍検索を可能にする確率的アルゴリズムです。

LSH は、ベクトル表現をスカラー数、より正確にはスカラーのコレクションにマッピングすることによって機能します。標準的なハッシュ アルゴリズムの目的は、2 つの同一でない入力間の衝突を回避することですが、LSH の目的は、入力が離れている場合の衝突を回避し、入力が異なっていてもベクトル空間内で互いに近い場合に衝突を促進することです。

「ログエラー、チェックログ」の埋め込みベクトルは、2進数 01 (01 はクラスターを表します) にマッピングできます。 「認証の問題」の埋め込みベクトルは、同じ 2 進数 01 にマッピングされる可能性があります。 LSH はこのようにして、ファジー マッチング、逆問題、ファジー判別を実現します。LSH は、高次元の bag-of-words モデル ベクトル空間に早くから適用されていました。

LSH を使用すると、文字は同じメモリに逆方向に配置されます。

ビルド ログのテキスト外れ値検出に LSH とニューラル エンベッディングを適用すると、エンジニアはログ行の小さなサブセットを調べて、ビジネスに不可欠な可能性のあるソフトウェアのバグを特定して修正できるようになります。また、ほぼすべてのログ行のセマンティック クラスタリングをリアルタイムで取得することも可能になります。

現在、Netflix では Semantic LSH の利点をすべてのビルドに適用しています。セマンティック部分では、一見異なる項目を意味に基づいてグループ化し、外れ値レポートで注釈を付けることができます。

成熟したオープンソースの転移学習データ製品と SDK により、LSH を通じて非常に少ないコード行でセマンティック最近傍検索の問題を解決できます。私たちは、転移学習と微調整がアプリケーションにもたらすメリットに非常に驚いています。機械学習は、人々の作業をより効率的にするために、まだまだ多くのことができるはずです。

<<:  人工知能:テクノロジーは無邪気、善と悪は人間の心の中にある

>>:  機械学習プロジェクトでオプティマイザーを選択する方法

推薦する

...

マイクロソフトの小型モデルが大型モデルに勝利:27億のパラメータ、携帯電話で実行可能

先月、マイクロソフトのCEOであるサティア・ナデラ氏はIgniteカンファレンスで、自社開発の小型モ...

中国では普及していない無人コンビニが、なぜアメリカでは人気があるのか​​?

[[247391]] 2018年1月、米国シアトルのアマゾン本社にアマゾン初の無人コンビニエンスス...

分析: 機械学習を妨げる 10 のサイバー攻撃とは?

サーセイ・ラニスターの策略やサー・ジョラー・モーモントの父親のような保護をもってしても、攻撃者が H...

柔らかいロボットの進化:優しくて怖い

[[387359]] 30年以上前、エドワード・シザーハンズの「ナイフがなければ、君を守ることはでき...

中国科学院の専門家が人工知能の混乱を批判:AIチップなど存在しない

Titanium Media Note:先週日曜日、IEEE SMC 協会 (IEEE システム、人...

Ctrip カスタマー サービス ロボット ASR エンジンの負荷分散の実践

著者についてCtrip の技術専門家である Yu Xiu 氏は、電話の音声およびビデオ通信やインテリ...

...

人工知能業界データ分析:中国のネットユーザーの76.8%が2020年の人工知能トラフィックアプリケーションシナリオに満足している

政策の推進と資本の注目により、人工知能産業は今後も急速な発展傾向を維持するでしょう。投資家は人工知能...

AIは教育の問題を解決できないが、メンターツールにはなり得る

今、これまで以上に、教師たちは助けを必要としています。数週間のうちにすべての授業をオンラインに移行す...

2021 年に注目すべき 27 の新たな建築技術トレンド (パート 1)

テクノロジーは建設業界にかつてないほど大きな影響を与えています。クラウドベースのコラボレーションやデ...

...

ビジネスコミュニケーションで機械学習を活用する9つの方法

人工知能 (AI) と機械学習 (ML) は、職場でも家庭でも、私たちの生活に欠かせないものになりつ...

レア! Apple のオープンソース写真編集ツール MGIE が iPhone に登場?

写真を撮り、テキストコマンドを入力すると、携帯電話が自動的に写真の編集を開始しますか?この魔法のよう...

MLP および Re-Parameter シリーズに関する人気の論文を含む、注目メカニズムの 17 個の PyTorch 実装

[[415286]]注意メカニズムは、最初はコンピューター ビジョンで使用され、その後 NLP の分...