エンジニアの視点から TikTok 推奨システムのアーキテクチャを探ります。 TikTok は、ユーザーが短い動画を作成して共有できる動画共有アプリです。パーソナライズされた「あなただけのための」おすすめでユーザーに感動を与えます。 Z世代の間で非常に人気があり、中毒性があります。その背後には人工知能技術が動いています。 TikTok アーキテクチャTikTok の推奨システムのアーキテクチャは、ビッグデータ フレームワーク、機械学習、マイクロサービス アーキテクチャの 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)の波から逃れることはできない。彼らが行くところすべてで、最新の AI ソ...
新インフラ政策の導入以来、データセンター、5G、ビッグデータの開発が最も頻繁に言及されていますが、産...
論文リンク: https://arxiv.org/pdf/2202.13799.pdf従来の生成モデ...
10月25日、AIの大規模モデルトレーニングデータソースの著作権問題は、常に業界にとって頭痛の種とな...
人工知能の急速な発展を背景に、特定のタスクを実行するためのモデルのトレーニングは常に困難な作業となっ...
この投稿では、最近の TCN ベースのソリューションをいくつかレビューします。まず、動き検出のケース...
最新の KDnuggets 調査では、データ サイエンティストの実際の業務で最もよく使用されるアルゴ...
最近、軽量インテリジェントロボットアーム企業であるYuejiang Technologyは、Song...
2019 IEEE 自動音声認識および理解ワークショップ (ASRU) は、2019 年 12 月 ...
ヨーロッパの多国籍通信会社は、BMC の Helix Chatbot を標準化して、全部門の 120...
シュメール王国の時代から、この賢明な王国の人々はデータを記録し、国勢調査を実施し、食糧を配給し始めま...