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 を通じて非常に少ないコード行でセマンティック最近傍検索の問題を解決できます。私たちは、転移学習と微調整がアプリケーションにもたらすメリットに非常に驚いています。機械学習は、人々の作業をより効率的にするために、まだまだ多くのことができるはずです。

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

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

ブログ    
ブログ    
ブログ    

推薦する

大規模モデルアプリケーションの探索 - エンタープライズ ナレッジ スチュワード

1. 伝統的なナレッジマネジメントの背景と課題1. 企業知識管理の必要性ナレッジ マネジメントは、あ...

ロボット工学が医療業界にもたらす変化

ロボット工学は医療分野で一般的になりつつあり、生物医学工学の分野における医療用ロボットへの資金提供が...

商業ビルのエネルギー効率における人工知能の役割

人工知能は商業ビルを変革し、エネルギー使用に関してよりスマートなものにしています。周囲に誰もいないと...

...

モノのインターネットはスマートな衛生設備を創り出し、都市環境の衛生を細かく管理します

旅行のピーク時に都市環境衛生がより大きな圧力に耐えられるか?清掃車両と清掃作業員をより適切に管理する...

AIGCとアップグレードにより、PC販売は2024年に8%回復する可能性がある

Canalysのアナリスト、ベン・キャディ氏とキーレン・ジェソップ氏は最近、一部の消費者が新世代のP...

...

...

ただ! Stack Overflow セルフヘルプがオープン

執筆者:ユン・チャオ「今日は、Stack Overflow にとってエキサイティングな新時代の始まり...

AIは人類にとって脅威でしょうか?人工知能には強いものと弱いものがあるが、本当の危険は強い人工知能である

近年、科学技術分野で最もホットな言葉は人工知能であり、これは近年の人工知能の急速な発展によるものです...

スループットが5倍に向上、バックエンドシステムとフロントエンド言語を共同設計するLLMインターフェースが登場

大規模言語モデル (LLM) は、複数の連鎖生成呼び出し、高度なプロンプト技術、制御フロー、および外...

2020年のライフスタイルに関する2008年の予測:そのほとんどが実現

米国のピュー・リサーチ・センターは2008年に、主に以下のような2020年のライフスタイルを予測しま...

タッチから音声へ: 音声テクノロジーが IoT 環境をどう変えるか

猛威を振るう新型コロナウイルス感染症のパンデミックは、経済と社会に大きな打撃を与えている。この世界的...