エンジニアの視点から 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. |
半年以上にわたる大規模なモデル嵐の後、AIGC 市場には新たな変化が起こり始めました。クールな技術デ...
[[388190]] • 食糧需要が増加するにつれて、世界は水の使用を管理する必要があります。 • ...
【51CTO.comオリジナル記事】 9月28日、「オープンソース開発とオープン性」をテーマにした...
[[265422]]人工知能はビジネスを変えています。自然言語処理やインテリジェント音声からモノのイ...
7月26日のニュースによると、将来、人工知能はマイクロソフトやアルファベットなどのテクノロジー大手に...
[[399115]]事前トレーニングにより、下流のタスクのパフォーマンスが大幅に向上することが示され...
大きなモデルは良いですが、「深刻なナンセンス」の問題をどのように解決するのでしょうか?金融、法律、医...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
写真は人工知能中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?多くの中国人は...
動的プログラミング基本的に、それは次のことを意味します。女の子を追いかけるときは、彼女の親しい友達全...
今日の量子コンピューティング デバイスをシミュレートする際の主な課題は、量子ビット間で発生する複雑な...
研究によると、人工知能は強力に聞こえますが、現在の高度な人工知能は、人間の 4 歳児が簡単に解決でき...
真実とは程遠いが、アメリカの消費者向けニュースおよびビジネスチャンネルCNBCのロゴ入りのビデオでは...
近年、視覚システムのセキュリティ評価の研究が徐々に深まっています。研究者は、メガネ、ステッカー、衣服...