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 プラットフォーム選択ガイド

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

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

推薦する

スマート建設現場: 2021 年に注目すべき 5 つのスマート建設技術

革新的な建設技術により、大規模建設プロジェクトの安全性、効率性、生産性が大幅に向上します。建設業界に...

...

...

Metaがオープンソース「AIアベンジャーズアライアンス」の結成を主導、AMDと他の同盟国が800億ドルでOpenAI Nvidiaと戦う

今日、MetaとIBMが主導し、50を超えるテクノロジー企業、大学、機関が共同でAIアライアンスを設...

Facebook、AIが著作権侵害を正確に識別できるようにソースデータ拡張ライブラリを公開: 100以上の拡張方法が提供される

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

データコレクターにおける TensorFlow を使用したリアルタイム機械学習

DataOps プラットフォームの真の価値は、ビジネス ユーザーとアプリケーションがさまざまなデータ...

自動化によってセキュリティアナリストがいなくなる可能性はありますか?

否定できない現実として、私たちは自動化の時代に入り、それに伴い人工知能 (AI)、機械学習 (ML)...

人工知能と現代の香水の発展

嗅覚系は、感情と連合学習を司る脳の領域に直接つながっている、体内の唯一の感覚系です。これが、匂いがこ...

遺伝的アルゴリズムとPython実装におけるいくつかの異なる選択演算子

序文この論文では、遺伝的アルゴリズムにおけるいくつかの選択戦略についてまとめています。比例ルーレット...

...

人工知能がクラウド業界を変える5つの方法

2023年には人工知能が最も重要な技術トレンドになることは間違いありません。 AI テクノロジーは新...

見逃せない AIOps 実装の重要なポイントを解説するガイド

[[280530]] [51CTO.com クイック翻訳] システムの効率性と複雑さが増すにつれて、...

NetEase Cloud Musicのリアルタイムデータウェアハウスガバナンス最適化の実践

1. 現状と問題点1. 現状と問題点Cloud Music データ ウェアハウス プラットフォームは...

毎秒400ペタフロップスの計算能力を備えた最速のAIコンピュータが稼働中です。宇宙最大の3Dマップが構築中

宇宙のコンピューター探査における壮大な瞬間!最近、人工知能ワークロード向けの世界最速スーパーコンピュ...