OpenLLMを使用して大規模なモデルアプリケーションを構築および展開する

OpenLLMを使用して大規模なモデルアプリケーションを構築および展開する

この共有のテーマは、「OpenLLM を使用して大規模な言語モデル アプリケーションを迅速に構築および展開する」です。 OpenLLM は、オープンソースの Large Language Model (LLM) 開発フレームワークです。さまざまなオープンソース LLM モデルをサポートし、メモリ使用量を最適化するための 2 つの主要な LLM 最適化が組み込まれています。さらに、LangChain や BentoML との統合も良好で、大規模な言語モデルのアプリケーションを迅速に構築してデプロイできます。

1. BentoML 会社概要

BentoML は機械学習インフラストラクチャの提供に重点を置いています。中核製品は、同社と同じ名前を持つオープンソースフレームワーク BentoML です。同社はサンフランシスコ・ベイエリアに本社を構えており、国内でリモート勤務する同僚も多数いる。当社は継続的な努力により、多くのお客様からの評価を獲得してきました。

2. OpenLLM製品の背景

まず、OpenLLM の開発の背景についてお話しします。

1. LLMの発生

まもなく過ぎ去る2023年が皆様にとって大変素晴らしい年となることを信じております。 ChatGPT は 2022 年 11 月にリリースされたばかりです。1 年後、私たちはさまざまな大規模言語モデルの出現を目撃しました。Claude や GPT などの商用の大規模言語モデルがあり、パラメータ数が数 B から数百 B に及ぶオープンソースの小規模モデルも多数あります。今は、新しい言語モデルが次々と登場し、大規模言語モデルの繁栄と発展の時代であると言えます。

BentoML は、一部の顧客とのやり取りの中で、開発中に OpenAI の機能を活用し、プロンプトにデータを入力してから推論結果をテストできる可能性があることを発見しました。モデルを本番環境にデプロイする場合、独自のサーバーまたはクラウド サーバーにデプロイする必要があります。

2. あなた自身のLLM

ほとんどの顧客は次のような要求を持っています:

  • 高い制御性/柔軟性: すべてのデータが推論のために OpenAI のモデルにプロンプ​​トとして入力される場合、このアプローチはあまり実用的ではない可能性があります。最終的には、自己トレーニングや微調整を通じて長年にわたって蓄積されたユーザーデータを活用して独自のモデルを取得し、より柔軟な推論ニーズを満たすことができるようになることを期待しています。
  • データ セキュリティ: モデル推論に独自のデータを使用する場合、データ セキュリティの問題に注意する必要があります。なぜなら、パブリック ネットワーク上でモデルを使用する場合、必然的に、このパブリック ネットワークのモデルに独自のプライベート データを入力する必要があるからです。これはデータ漏洩につながる可能性があり、データセキュリティを重視する一部の企業では受け入れられません。
  • 費用対効果: 前述したように、汎用モデルを使用し、最適化されたプロンプトを採用する場合、大きなプロンプトが必要になる場合があります。たとえば、ドキュメントに関する推論を実行する場合は、ドキュメント全体または書籍全体をプロンプトに入力する必要がある場合があります。現在、ほとんどのビジネス モデルではトークン単位で料金が請求されます。プロンプトが非常に大きい場合は、それに応じてコストが増加します。ただし、独自の大規模なモデル アプリケーションを所有できる場合は、コストはハードウェア費用のみになる可能性があります。さらに、精度も高くなる可能性があるため、同じ推論精度を達成するために、より小さなモデルを使用するだけで済む可能性があり、コストがさらに削減されます。

3. 実稼働環境にLLMを導入する際の課題

大規模な言語モデルを独自に展開する場合、次のような課題に直面する可能性があります。

  • 操作性: 主にハードウェア コスト、つまり大規模なモデルを特定のハードウェアに効果的に展開できるかどうかに関係します。優れたグラフィック カードが簡単に手に入るわけではないことは、誰もが知っています。たとえば、13B のパラメータを持つモデルでは合計 26GB のパラメータが必要になる場合があり、単一の A10G グラフィックス カードで処理するのは困難になります。したがって、ハードウェアの制限を解決するには、複数のカードまたは複数のマシンの使用を検討する必要がある場合があります。
  • スケーラビリティ: ハードウェア スケーラビリティとソフトウェア スケーラビリティという 2 つの側面が含まれます。 1 つ目はハードウェアのスケーラビリティです。これは、要求量と同時実行性が低い場合、要求を満たすのに必要なグラフィック カードまたはマシンは 1 台だけであることを意味します。ユーザー数が増えると、同時推論のためにシステムが自動的に複数のグラフィック カードまたは複数のマシンを有効にできるようになることが期待されます。 2 番目の側面は、ソフトウェアのスケーラビリティです。現在、多くの大規模な言語モデルが利用可能であることを考えると、開発中またはテスト中にさまざまなモデルを簡単に切り替えて、パフォーマンスを観察し、比較したい場合があります。これにはソフトウェア側のスケーラビリティが必要です。
  • スループット: 大規模言語モデルのアプリケーションは、従来の機械学習アプリケーションとは多少異なります。画像分類タスクなどの従来の機械学習アプリケーションは、通常、バッチ処理が可能です。つまり、複数の入力が一度に処理され、結果が同時に返されます。ただし、大規模な言語モデルが推論を行う場合、入力は同時に到着せず、出力も同時に生成されないため、スループットに大きな課題が生じます。
  • レイテンシ: レイテンシはできる限り低くしたいものですが、機械学習アプリケーションでは、レイテンシとスループットは互いに比較対象となる指標のペアになることがあります。つまり、より高いスループットを実現したい場合は、ある程度のレイテンシを犠牲にする必要があるかもしれません。

3. OpenLLM の概要、アプリケーション例、利点

1. OpenLLMの紹介

以下では、当社のオープンソース製品 OpenLLM が上記の問題をどのように解決するかについて説明します。

2023 年 6 月にオープンソース化された OpenLLM は、大規模な言語モデルを展開するためのフレームワークです。現在、このプロジェクトは GitHub で 6,800 を超えるスターを獲得しています。当初のスローガンは、1 行のコードまたは比較的簡単な操作で、さまざまな大規模な言語モデルを切り替えることにより、個々のユーザーに利便性を提供することでした。さまざまなモデルを試してみたい個人ユーザーでも、独自の AI アプリケーションを展開したいユーザーでも、OpenLLM は便利なソリューションを提供できます。

OpenLLM は現在、一般的に使用されているほぼすべてのオープンソースの大規模言語モデルをサポートしています。各モデルに対して、フレームワークは複数の異なるパラメータ量と異なるデプロイメント モデル ID を提供し、その中から選択できます。現在、ChatGLM、Baichuan、Dolly-V2などのモデルが含まれています。

2. OpenLLMのアプリケーション例

次に、OpenLLM が大規模な言語モデル アプリケーションの開発と展開をどのように加速できるかを説明します。

まず、LLM サービスを開始します。

LLM サービスの開始は非常に簡単です。LLM ツールをインストールした後、次のコマンドを実行するだけでアプリケーションが起動します: "start dolly-v2"。モデルがコンピューターにまだダウンロードされていない場合は、自動的にダウンロードされます。これには少し時間がかかる場合がありますが、アプリを起動すると、「地球の重さはどれくらいですか?」などの質問をして、コマンド ラインから直接サービスと対話できるようになります。 Dolly-V2 モデルを使用し、答えが得られました。このモデルは比較的弱いため、回答があまり正確でない可能性があります。

別のモデルである LlaMA を使用して、精度を向上できるかどうかを確認します。ここでは、LlaMA2 モデルを使用することを選択しますが、LlaMA2 は LlaMA のデフォルト モデルではないため、モデル ID を指定する必要があります。以前と同じように、モデルを切り替えるだけで、使い方はまったく同じです。

したがって、当社のフレームワークを使用すると、ユーザーはさまざまなモデルを簡単に切り替えることができます。使用方法は同じですが、モデルによって回答が異なる場合があります。今回はLlaMA2モデルが使用され、与えられた答えが比較的正確であることがわかります。

サービスと対話するためにコマンドラインを使用します。これはテスト段階では非常に便利で実用的です。ただし、実際にアプリケーションをデプロイするときには、フロントエンドまたは外部システムが呼び出せるように、アプリケーションで HTTP または gRPC インターフェースを提供することが必要になる場合があります。

OpenLLM フレームワークは、すぐに使用できる組み込み HTTP API をサポートします。サービスのホームページには、サービスでサポートされているすべての HTTP エンドポイントを一覧表示する Swagger ページが表示されます。先ほどコマンドラインで示したように、プロンプトに入力して JSON 形式の応答本文を取得し、ここで直接サービスを操作してテストすることもできます。

HTTPインターフェースを公開しているので、Python、Node、  カール  HTTP にアクセスできるクライアントであれば、このインターフェースを呼び出すことができます。これにより、アプリケーションの柔軟性とアクセシビリティのオプションがさらに広がります。

また、ユーザーが Python コードで直接サービスと対話できるようにする Python SDK も提供しています。クライアントをインポートし、サービスのアドレスを指定するだけで、サービスに直接質問することができ、正しい回答が得られます。これにより、Python 環境で OpenLLM サービスを簡単に統合して使用できるようになります。

3. OpenLLMを使用する利点

OpenLLM を使用すると、次の利点があります。

  • モデルの切り替え。ユーザーはさまざまなモデルを簡単に切り替えることができます。
  • 複数の最適化テクノロジーを内蔵。 1 つ目は量子化です。これはパラメータの精度を下げることで全体的なメモリ使用量を削減し、特に大規模な言語モデルに役立ちます。 OpenLLM はほぼすべてのモデルの量子化をサポートしています。 2 つ目はトークン ストリーミング テクノロジーです。これは、一般的なチャットボットのシナリオで優れたパフォーマンスを発揮し、語彙が 1 つずつ生成され、回答が生成されながらその回答を受け取ることができます。連続バッチ処理やページングアテンションなどの重要な最適化もあります。
  • 複数のカードがサポートされています。ユーザーは複数の GPU を指定し、必要に応じて実行モードを選択したり、特定の GPU を指定したりすることもできます。
  • モデルのパフォーマンス監視。同社の製品であるBentoMLをベースに、メトリクス測定やパフォーマンス指標の監視をサポートします。
  • モデルの微調整推論をサポートします。 OpenLLM は Fine-tune をサポートし、LoRA レイヤーと連携した推論もサポートします。
  • BentoML、LangChain、Hugging Face などの他の AI ツールとうまく統合され、より包括的な機能とアプリケーション シナリオを提供します。

次に、優れた最適化を実現する VLM バックエンドを使用するため、継続的なバッチ処理に焦点を当てます。

大規模言語モデルの推論では、入力の強度は均等ではなく、結果がより速く生成されるものもあれば、より長い時間がかかるものもあります。最適化を行わない場合、入力の 1 つ (S2 など) が最初に推論を完了すると、プロセス全体は他の入力が完了するまで待機してから次のラウンドに進みます。これにより、推論タスクが実行されない期間があるため、GPU 時間が無駄になります。

連続バッチ処理の最適化により、1 つの推論タスクが終了した直後に次の推論タスクを導入できます。例を挙げて説明すると、まず S3 が推論を完了し、次に S5 がすぐに参加し、次に S1 が推論を完了し、次に S6 がすぐに参加するとします。これにより、各タイムスライスでモデル推論タスクが実行され、GPU リソースの使用率が最大化されます。これは、アイドル時間を短縮し、全体的な推論効率を向上させる効果的な最適化戦略です。

時間の最適化を紹介した後、スペースの最適化、特に KVcache の最適化について見てみましょう。まず、大規模言語モデルがどのように機能するかを簡単に紹介します。これは Transformer フレームワークに基づいています。このモデルは、一連の入力トークンを通じて次のトークンの最大確率を返します。ただし、入力には繰り返し計算が含まれる場合があり、たとえば「I am a」と入力するとモデルは「I am a cat」を返し、「I am a cat」と入力すると「I am a cat」を返すため、Transformer フレームワークで多くの繰り返し計算が発生します。この問題を解決するために、KVcache を使用して計算結果をキャッシュします。

KVcache は、コンピュータのメモリを割り当てるときに、割り当てる必要があるメモリの量を正確に知ることができないという新たな問題をもたらします。まずは大まかな範囲を見積もることしかできません。図から、タスクが完了すると、次のタスクの追加により、解放できたはずのメモリが十分に活用されない可能性があることがわかります。これにより、多くのメモリフラグメントが生成され、メモリの使用効率に影響します。

この問題を最適化するために、Paged Attention が導入されました。 Paged Attention の最適化の考え方は、すべてのメモリをブロックに分割し、ブロックごとにメモリを割り当てることです。タスクが完了し、メモリが不足しており、さらにメモリが必要であることが判明した場合、フレームワークは別の場所に別のブロックを割り当てます (連続していない可能性があります)。タスクが完了すると、ブロックは次のタスクで使用するために解放されます。このようにして、メモリの断片化を効果的に削減できます。メモリは連続していないため、メモリの物理的な場所と実際のシリアル番号とのマッピング関係を格納するためのブロック テーブルが必要であり、その結果、大規模モデルでは論理的に連続したメモリが取得されるように見えることに注意してください。

4. BentoML の紹介と応用例

1. BentoMLの紹介

上記の最適化を完了したら、大規模言語モデルのデプロイを開始します。しかし、ほとんどの AI アプリケーションは、単にモデルを展開する以上のことを必要とします。そうでなければ、どの企業も OpenAI と競争することはできません。したがって、モデル推論に加えて、私たちの AI アプリケーションには、作業の他の多くの側面も含まれる可能性があります。たとえば、データの収集方法、データの検証方法、デプロイメント メトリックの構成方法、サービス メトリックの観察を含むモデル推論の実行方法などを考慮する必要があります。これらの問題は研究段階では考慮する必要がないかもしれませんが、展開とエンジニアリングの後には、これらのさまざまな問題を考慮する必要があります。

BentoML と OpenLLM の統合には多くの利点があります。 BentoML は、次のような導入後の課題の解決に重点を置いたオープンソースの AI 導入フレームワークです。

  • オープンソース AI 展開フレームワーク: BentoML は、開発、展開、パッケージ化のソリューションの完全なセットを提供します。
  • モデルとコードのバージョン管理: BentoML はモデルとバージョン管理の概念を導入し、GitHub の送信のようにモデルをバージョン管理できるようにします。これにより、以前に指定したバージョンを簡単に追跡してロールバックできるため、モデルに障害が発生した場合に特に便利です。
  • メトリクス、トレース、ログを通じてすぐに使用できる可観測性を提供: BentoML には、メトリクス、トレース、ログ機能などのすぐに使用できる可観測性が組み込まれており、ユーザーがモデルのパフォーマンスをより適切に監視および理解するのに役立ちます。
  • 標準 OCI イメージとしてコンテナ化: BentoML は、機械学習アプリケーション全体を標準コンテナ イメージとしてパッケージ化することをサポートしています。
  • 複数のデプロイメント ターゲット: アプリケーションは、AWS などのさまざまなクラウド サーバーに簡単にデプロイできます。
  • 分散デプロイメントと容量拡張: BentoML は分散デプロイメントと容量拡張をサポートしており、高負荷の処理を容易にします。
  • Serverless BentoCloud: これは BentoML でサポートされている最新の機能の 1 つであり、サーバーレス方式でのデプロイメントを可能にします。つまり、アプリケーションはリクエストがないときにはリソースを占有せず、最初のリクエストが到着したときにのみコールド スタートを実行します。

BentoML モデルは、機械学習モデルの抽象化です。機械学習の分野にはさまざまなフレームワークがあり、それぞれに独自のモデルの概念があります。 BentoML では、これらのさまざまなフレームワークのモデルを BentoML モデルとしてインポートできます。この抽象的なデザインにはいくつかの利点があります。

  • バージョン管理: BentoML モデルにはバージョン管理機能があるため、モデルのさまざまなバージョンを簡単に追跡、管理、ロールバックできます。これは、モデルの反復処理と更新に非常に便利です。
  • チームワーク: AI アプリケーションを開発する場合、通常、モデルのトレーニングを担当する研究チームが存在します。モデルがトレーニングされ、BentoML モデルとして保存されると、エンジニアリング チームがダウンロードして使用できるようにリモート プラットフォームにプッシュできます。この分業とコラボレーションにより、チームはより効率的に連携できるようになり、研究チームとエンジニアリング チームはそれぞれのタスクに集中できるようになります。このように、チームメンバーはモデルの特定のソースについて心配する必要はなく、BentoML プラットフォームを通じて対応するモデルをダウンロードして使用するだけで済みます。このチームワークの概念は、開発プロセス全体の効率と共同作業の円滑さを向上させるのに役立ちます。

BentoML のランナーには次の機能があります。

  • リモートワーカー: ランナーはモデルをリモート オブジェクトにカプセル化し、外部にサービスを提供できるようにします。この分離設計により、モデルをアプリケーションから独立して展開できるようになり、システムのモジュール性と保守性が向上します。
  • 独立した拡張: AI アプリケーションのモデル部分には通常、大量の GPU リソースが必要になるため、API インターフェイス、データの前処理、IO 操作などの他のタスクでは CPU のみが必要になる場合があります。独立してデプロイされるため、互いに独立して拡張できます。 CPU リソースは比較的安価で自由に拡張できますが、GPU リソースは 2 個または 3 個のみなど、制限される場合があります。このアプローチにより、GPU リソースがモデル推論に集中し、CPU リソースが他のタスクに使用されるようになり、全体的なリソース使用率が向上します。
  • 主流の ML フレームワークを直接ランナーに変換できるようにサポート: BentoML は、PyTorch や TensorFlow など、ほぼすべての主流の機械学習フレームワークをサポートしています。モデルは Remote Runner に直接変換し、別のプロセスでデプロイできます。

上の図は、BentoML API サーバーのワークフローを示しています。アプリケーションは外部から HTTP リクエストを受信します。これは、POST メソッドを介して送信される JSON データである可能性があります。受信した HTTP リクエスト データは、モデルが受け入れ可能な形式に変換するために前処理する必要がある場合があります。このステップには通常、入力データがモデルの要件を満たしていることを確認するためのデータ形式の変換や検証などの操作が含まれます。 IO 記述子は、入力データと出力データの構造とタイプを定義し、データ形式変換のブリッジとして機能します。 IO 記述子による変換後、データは推論のためにモデルに渡されます。モデルは入力データを使用して、対応する予測または出力を生成します。モデルの出力を HTTP 応答の形式に変換するために、後処理が必要になる場合があります。このステップには、Tensor または Numpy 配列を JSON 形式に変換することなどが含まれます。処理されたデータは HTTP 応答の形式で要求者に返され、推論プロセス全体が完了します。これは、アプリケーションが外部システムと通信するための出口ポイントです。

BentoML のリクエスト処理プロセスは、複数の層の負荷分散、API サーバー、ランナーを通過します。

  • 負荷分散レイヤー: 負荷分散レイヤーはすべてのリクエストを受信し、それらを API サーバーに分散する役割を担います。このレイヤーは、リクエストのインテリジェントな分散を実行して、各 API サーバーの負荷分散を確実に行うことができます。
  • API サーバー: API サーバーは BentoML アプリケーションのエントリ ポイントであり、負荷分散層からの要求を受信する役割を担います。 API サーバーは水平方向に拡張でき、多数の同時リクエストを処理するために複数のインスタンスを作成できます。 API サーバーはリクエストを受信すると、いくつかの前処理を行ってから、リクエストをランナーに転送します。
  • ランナー: ランナーはモデルをカプセル化し、実際のモデル推論を担当します。このレイヤーでは、モデル推論はバッチ処理機能をサポートします。ランナーはリクエストを受信すると、他のリクエストが到着するかどうかを確認するためにしばらく待機します。待機時間が最大値に達するか、指定されたバッチ処理容量に達した場合にのみ、ランナーは推論のためにリクエストのバッチを一度にモデルに送信します。このプロセスはユーザーには知覚されず、推論の効率を向上させることができます。

ここでは、BentoML の Bento の概念を紹介します。Bento は、機械学習の依存関係、環境 Dockerfile、ソース コード、必要なモデル、その他のデプロイメント構成を含む、パッケージ化された最小のデプロイメント ユニットです。

2. BentoMLアプリケーションの例

次に、例を使用して、BentoML を使用して AI アプリケーションを開発およびデプロイする方法を説明します。 LangChainとOpenLLMを使用して広告コピー生成機能を実装するアプリケーションを作成し、LangChainとOpenLLMの統合を実証します。次に、BentoML を使用して HTTP サービスを開始し、1 行のコードで LLM モデルを切り替え、最後に Bento パッケージを生成して、その後のデプロイメントで BentoML を使用する方法を示します。

前のコードでは、いくつかの LangChain モジュールをインポートしました。 LangChain に精通している場合は、これらのモジュールについてある程度理解しているはずなので、ここでは詳しく説明しません。次は BentoML の部分です。 BentoML は主に、入力と出力のタイプを記述するために使用されるいくつかの IO 記述子をインポートします。ここでは、JSON と Text の 2 つのタイプをインポートしました。入力は JSON 形式で、出力はテキストになる必要があるため、インポートされたモジュールと記述子を使用します。

次に、pydantic のモデルを使用して、入力の有効性を検証するために使用される構造を定義します。このクエリ オブジェクトには、次のパラメーターが含まれています: industry は業界を表し、productName は製品名を表し、keywords は必要なキーワードを表します。これらのパラメータは、広告ワードを生成するために必要な入力です。

2 番目の部分は、モデル ID をすばやく切り替えるためのヘルパー関数です。この関数は LangChain オブジェクトを返します。したがって、最初に opt モデルを使用します。上の行をコメントアウトして下の行を使用すると、Baichuan モデルの使用に直接切り替えることができます。

これはプロンプト生成部分です。LangChain 関数を使用してプロンプト テンプレートを指定し、このテンプレートに入力したパラメータを入力して完全なプロンプトを生成します。

次のステップは、公開するインターフェースを定義することです。入力と出力のタイプを指定することにより、この関数はサービスへのインターフェースとして使用されます。 48 行目では、サービスを開始するときに、分散環境でどのランナーをリモートで開始する必要があるかを知る必要があるため、LLM ランナーがサービスに渡されます。したがって、ここでの起動では、2 つの独立したサービスが生成されます。1 つは API インターフェース レイヤー (`Service`) で、もう 1 つは LLM ランナーです。それらは互いに独立しています。

起動すると、前のページと同様の Swagger ページが表示され、そのページで直接テストすることができます。ここでは、業種を「SAAS」、製品名を「BentoML」に設定しました。実行すると、広告スローガンが生成されます。この広告スローガンは私たちのニーズを満たしており、ツイートや WeChat のコンテンツのように見えます。不動産業界の広告を生成したい場合は、業界を「不動産」に切り替えるだけで、家の絵文字も含まれた、不動産業界らしい広告が作成されます。

開発とローカルテストが完了したら、コードとモデル全体を Bento にパッケージ化します。 BentoML の Build コマンドを使用すると、Bento パッケージを簡単に作成できます。生産が完了したら、その後にオプションの 2 つの手順があります。

1 つ目は、コンテナ化してイメージにパッケージ化し、その後の展開に備えることです。

2 番目のオプションは、この Bento を当社のクラウド プラットフォームに直接プッシュすることです。クラウド プラットフォームは、その後の展開操作を自動的に実行するのに役立ちます。

クラウド プラットフォームは、Bento を展開できるプラットフォームです。 Bento を Kubernetes 上で実行されるコンテナに自動的に変換し、その上で実行します。ここでの例には、API サーバーと、LLM ランナーや Text2Image ランナーなどの複数の異なるランナーが含まれています。また、BentoCloud では、容量の拡張方法を指定することができます。API ごとに拡張が必要な​​ノードの数を個別に指定したり、ランナーごとに必要な GPU やインスタンスの数を指定したりすることができます。

5. OpenLLMの概要

OpenLLM は、オープンソースの Large Language Model (LLM) 開発フレームワークです。さまざまなオープンソース LLM モデルをサポートし、メモリ使用量を最適化するための 2 つの主要な LLM 最適化が組み込まれています。さらに、LangChain と BentoML の両方との統合も良好です。

<<:  AIを慎重に導入するためのベストプラクティス

>>:  人工知能は人間と同じくらい創造的になれるのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

...

人工知能は実際に最大25%の精度でパスワードを推測できる

米国のスティーブンス工科大学は、ユーザーが使用するパスワードを4分の1の精度で適切に推測できる、いわ...

色を選ぶと、このAIシステムがロゴをデザインします

LoGANがデザインしたいくつかのロゴ画像提供: マーストリヒト大学[51CTO.com クイック翻...

音声認識システムが裁判にかけられる

舒城県裁判所杭埠法廷は最近、建設工事契約紛争事件の審理に法廷音声認識システムを使用した。これは、杭埠...

一般化の危機! LeCunは質問を公開しました: テストセットとトレーニングセットは決して関連していません

[[431567]]長い間、テスト セットで優れたパフォーマンスを発揮するモデルは、一般化のパフォー...

エラー分析を正しく行う方法、NLP研究者は学ぶ必要がある

著者注:機械学習モデルがいつ、どのように、なぜ失敗するかを分析することを「エラー分析」と呼びます。科...

...

同社はコストバランスに苦戦しており、AI部門で猛烈な採用を行い、他の部門では人員削減を行っている。

業界の専門家は、テクノロジー企業がAIへの投資を優先し、採用を急ぐため、他の分野での人員削減は202...

スマートシティ:自動運転インフラの新たな一面

日常的なタスクの自動化は、現在多くの業界で関心を集めているコンセプトです。最も革命的なのは自動運転車...

...

マイクロソフトがAIインフラサービスコード名「Singularity」を発表

Microsoft Azure と研究チームは協力して、コードネーム「Singularity」という...

人工知能は人々を失業させるだけでしょうか?マッキンゼーの調査と分析では、異なる答えが出ました。

AIへの追加投資は2030年までに雇用の5%に貢献し、創出される追加の富は労働需要を促進し、雇用を...

Ctrip旅行言語モデルシステムの紹介と応用

著者についてCtrip の自然言語処理と大規模言語モデル アルゴリズムの専門家である Terry は...

ベセット氏との対話:自動運転車が人間の信頼を勝ち取るのはいつでしょうか?

[[257915]]編集者注:自動運転車が私たちの信頼を得られるのはいつでしょうか? 「十分に安全...

機械学習について知っておくべき5つのこと

急速に進化するあらゆるトピックと同様に、学ぶべき新しいことが常に存在し、機械学習も例外ではありません...