エンジニアの視点から 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. |
機械学習アプリケーションが増加するにつれて、多くの人が機械学習トレーニング データを使用する利点を理...
今日は、人類が初めて電気を家庭や企業に供給するようになってから 140 年目の記念日です。電力産業は...
人工知能 (AI) は、今後最も期待されるテクノロジーの 1 つです。テクノロジーがビジネスに与える...
PAI-ChatLearn は、Alibaba Cloud Machine Learning Pl...
[[442070]]レファレンス・ニュース・ネットワークは12月26日、ドイツのフランクフルター・ア...
1月4日、ニューヨークのコーエン小児医療センターの3人の小児科医が、大規模言語モデルChatGPT...
[[344692]]最近、私のお気に入りの新進思想家の一人と高性能 AI と低性能 AI について議...
自動化はテクノロジーを利用して、人間がより多くのタスクを完了できるようにします。物流の自動化をあらゆ...
[[327384]] 5月24日、メディアの報道によると、香港科技大学の研究者らがネイチャー誌に発表...
脅威の状況が絶えず変化する中、高度なサイバー攻撃に対する防御手段として、生成型人工知能 (GAI) ...
[[433768]]ソートアルゴリズムのトップ10のアイデアのまとめ手書きのソートアルゴリズムは面接...