TikTokの背後にあるAIの仕組み

TikTokの背後にあるAIの仕組み

エンジニアの視点から TikTok 推奨システムのアーキテクチャを探ります。

TikTok は、ユーザーが短い動画を作成して共有できる動画共有アプリです。パーソナライズされた「あなただけのための」おすすめでユーザーに感動を与えます。 Z世代の間で非常に人気があり、中毒性があります。その背後には人工知能技術が動いています。

TikTok アーキテクチャ

TikTok の推奨システムのアーキテクチャは、ビッグデータ フレームワーク、機械学習、マイクロサービス アーキテクチャの 3 つのコンポーネントで構成されています。

  1. ビッグデータ フレームワークはシステムの出発点です。リアルタイムのデータ ストリーム処理、データ計算、およびデータ ストレージを提供します。
  2. 機械学習はレコメンデーションシステムの頭脳です。さまざまな機械学習およびディープラーニングのアルゴリズムとテクニックを使用してモデルを構築し、個人の好みに合わせた推奨事項を生成します。
  3. マイクロサービス アーキテクチャは、システム全体が迅速かつ効率的にサービスを提供できるようにする基盤となるインフラストラクチャです。

ビッグデータフレームワーク

データがなければ、インテリジェンスは存在しません。

分析されるデータのほとんどはユーザーのスマートフォンから取得されます。これには、オペレーティング システムやインストールされているアプリケーションなどが含まれます。さらに、TikTok は、視聴時間、スワイプ、いいね、共有、コメントなどのユーザーのアクティビティ ログに特別な注意を払います。

ログ データは Flume と Scribe を通じて収集および集約されます。それらは Kafka キューにパイプされます。その後、Apache Storm は Apache Hadoop エコシステム内の他のコンポーネントを使用して、データ ストリームをリアルタイムで処理します。

Apache Hadoop エコシステムは、第 1 世代の分散データ処理システムである MapReduce を含む、データ処理およびストレージ用の分散システムです。バッチ処理と並行してデータを処理します。 YARN は、ジョブのスケジューリングとクラスター リソース管理のためのフレームワークです。 HDFS は分散ファイルシステムです。 HBase は、大規模なテーブルの構造化データ ストレージをサポートするスケーラブルな分散データベースです。 Hive は、データの要約とクエリを提供するデータ ウェアハウス インフラストラクチャです。 Zookeeper は高性能なコーディネーション サービスです。

データ量が急速に増加するにつれて、リアルタイムのデータ処理フレームワークが登場します。 Apache Spark は、ビッグ データ ワークロードのほぼリアルタイムの分散処理を可能にする第 3 世代のフレームワークです。 Spark はメモリ内で処理することで MapReduce のパフォーマンスを向上させます。過去数年間、TikTok は第 4 世代のフレームワーク Flink を適用してきました。リアルタイム ストリーミングをネイティブに実行するように設計されています。

データベース システムには、MySQL、MongoDB などがあります。

機械学習

これが、TikTok がパーソナライズされた中毒性のあるアルゴリズムで有名になった理由の中心です。

大量のデータセットが入力された後、次のステップはコンテンツ分析、ユーザー分析、コンテキスト分析です。 TensorFlow などのニューラル ネットワーク ディープラーニング フレームワークは、コンピューター ビジョンとネイティブ言語処理 (NLP) を実行するために使用されます。コンピュータービジョンは写真やビデオを使用して画像を解釈します。 NLP には、分類、ラベル付け、評価が含まれます。

ロジスティック回帰 (LR)、畳み込みニューラル ネットワーク (CNN)、再帰型ニューラル ネットワーク (RNN)、勾配ブースティング決定木 (GBDT) などの従来の機械学習アルゴリズムを使用します。コンテンツベース フィルタリング (CBF)、協調フィルタリング (CF)、さらに高度な行列分解 (MF) などの一般的な推奨方法を適用します。

TikTok があなたの心を読むための秘密兵器は次のとおりです。

1. アルゴリズム実験プラットフォーム:エンジニアは、LR や DNN などの複数の機械学習アルゴリズムを組み合わせて実験し、テスト (A/B テスト) を実行して調整を行います。

2. 幅広いカテゴリとタグ:これらのモデルは、視聴時間、スワイプ、多くの場合は「いいね」や「シェア」などのユーザー エンゲージメントに基づいています (潜在意識は、あなたが言うことよりもあなたがすることの方があなたについて多くを語っていることを反映しています)。ユーザーの特徴、ベクトル、カテゴリの数は、世界中のほとんどのレコメンデーション システムを上回っており、現在も増加し続けています。

3. ユーザー フィードバック エンジン:複数の反復でユーザー フィードバックを取得した後、モデルを更新します。エクスペリエンス管理プラットフォームはこのエンジン上に構築されており、最終的には条件と推奨事項が改善されます。

推奨事項のコールド スタート問題に対処するために、リコール戦略が使用されます。人気があり高品質であることが証明された数千万本のビデオの中から、数千本の候補が選ばれます。

一方、超高速応答を可能にするために、一部の AI 作業はクライアント側に移行しました。これには、デバイス上で実行されるリアルタイムのトレーニング、モデリング、推論が含まれます。クライアント側では、TensorFlow Lite や ByteNN などの機械学習フレームワークが使用されます。

マイクロサービスアーキテクチャ

TikTok はすでにクラウドネイティブ インフラストラクチャを使用しています。ユーザー分析、予測、コールド スタート、リコール、ユーザー フィードバック エンジンなどの推奨コンポーネントが API として使用されます。これらのサービスは、Amazon AWS や Microsoft Azure などのクラウドでホストされます。このシステムにより、ビデオキュレーションがクラウドを通じてユーザーにプッシュされるようになります。

TikTok は Kubernetes をベースとしたコンテナ化技術を使用しています。 Kubernetes はコンテナ オーケストレーターとして知られています。これは、アプリケーションのライフサイクルを自動化するためのツール セットです。 Kubeflow は、Kubernetes 上で機械学習ワークフローをデプロイすることに専念しています。

クラウド ネイティブ スタックの一部であるサービス メッシュは、サービス間通信を処理するもう 1 つのツールです。アプリケーションのさまざまな部分が相互にデータを共有する方法を制御します。アプリケーション層ではなく、プラットフォーム層に機能やサービスを挿入します。

高い同時実行要件のため、このサービスは Go 言語と gRPC を使用して構築されています。 TikTok では、優れた組み込みネットワークと並行処理のサポートにより、Go がサービス開発の主要言語となっています。 gRPC は、サービスを効率的に構築および接続するためのリモート プロセス制御フレームワークです。

Tiktok の成功は、最高のユーザー エクスペリエンスを提供するために全力を尽くしている点にあります。低レベル (システムレベル) のパフォーマンスを最大化するための内部ツールを構築します。たとえば、ByteMesh は Service Mesh の改良版、KiteX は高性能な Golang gRPC フレームワーク、Sonic は拡張された Golang JSON ライブラリです。その他の内部ツールまたはシステムには、パラメータ サーバー、ByteNN、abase などがあります。

TikTokの機械学習責任者であるXiang Liang氏は、時には上位の(機械学習)アルゴリズムよりも下位のインフラストラクチャの方が重要になることがある、と述べた。

翻訳者紹介

朱剛、51CTOコミュニティ編集者、2021年IT影響力のある専門家ブロガー、Alibaba Cloud専門家ブロガー、2019年CSDNブログスタートップ20、2020年Tencent Cloud +コミュニティ優秀著者、11年間の最前線開発経験を持ち、ヘッドハンティングサービスのウェブサイトアーキテクチャ、エンタープライズインテリジェントカスタマーサービス、大規模電子政府システム開発の設計に参加し、大手国有企業の内部漏洩防止および電子文書セキュリティ監視システムの構築を主導しました。現在は北京途家健康で医療ソフトウェアの研究開発に従事しています。

原題: How the AI ​​Behind TikTok Works ​​、著者: Vivien H.


<<:  エンタープライズ AI プラットフォーム選択ガイド

>>:  ディープラーニングにおける正規化技術の包括的な概要

ブログ    
ブログ    

推薦する

10年後の市場規模は1.3兆ドル。「モデル電源時代」到来

半年以上にわたる大規模なモデル嵐の後、AIGC 市場には新たな変化が起こり始めました。クールな技術デ...

AIが農業用水効率の課題をどう解決するか

[[388190]] • 食糧需要が増加するにつれて、世界は水の使用を管理する必要があります。 • ...

AIIA2020人工知能開発者会議が成功裏に開催され、オープンソースを採用してAIの新たな勢いが生まれました。

【51CTO.comオリジナル記事】 9月28日、「オープンソース開発とオープン性」をテーマにした...

2019年に人工知能をマスターするには?世界のAI専門家が答えを教えます

[[265422]]人工知能はビジネスを変えています。自然言語処理やインテリジェント音声からモノのイ...

マイクロソフトとグーグルのAIジレンマ:お金を稼ぐためにもっとお金を使う

7月26日のニュースによると、将来、人工知能はマイクロソフトやアルファベットなどのテクノロジー大手に...

高密度の手動ラベルなしで下流の高密度予測タスクを実行するための自己教師学習法がリリースされました

[[399115]]事前トレーニングにより、下流のタスクのパフォーマンスが大幅に向上することが示され...

ChatGPT のパフォーマンスが最大 214% 向上し、7 つのグラフが更新されました。 IDEA、HKUST GuazhouなどがToG思考マップを提案

大きなモデルは良いですが、「深刻なナンセンス」の問題をどのように解決するのでしょうか?金融、法律、医...

AmodalSynthDrive: 自動運転のための合成アモーダル知覚データセット

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?外国人は信じられないと言う

写真は人工知能中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?多くの中国人は...

興味深い記事:女の子を追いかけるためのさまざまなアルゴリズムを教える

動的プログラミング基本的に、それは次のことを意味します。女の子を追いかけるときは、彼女の親しい友達全...

ネイチャー誌の記事で、ウォータールー大学のチームが「量子コンピュータ+大規模言語モデル」の現状と将来についてコメントした。

今日の量子コンピューティング デバイスをシミュレートする際の主な課題は、量子ビット間で発生する複雑な...

あなたたちは AI を大々的に宣伝していますが、AI はまだ 4 歳児ほど賢くありません。

研究によると、人工知能は強力に聞こえますが、現在の高度な人工知能は、人間の 4 歳児が簡単に解決でき...

AI不正対策!ディープフェイク音声・動画検出技術がCESでデビュー、精度は90%以上

真実とは程遠いが、アメリカの消費者向けニュースおよびビジネスチャンネルCNBCのロゴ入りのビデオでは...

北京航空航天大学はモードの壁を打ち破り、可視光と赤外線モードにわたる普遍的な物理的対抗手段を開発しました。

近年、視覚システムのセキュリティ評価の研究が徐々に深まっています。研究者は、メガネ、ステッカー、衣服...