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

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

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

TikTok アーキテクチャ

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

(1)ビッグデータフレームワークはレコメンデーションシステムの出発点である。リアルタイムのデータ ストリーム処理、データ計算、およびデータ ストレージを提供します。

(2)機械学習はレコメンデーションシステムの頭脳である。さまざまな機械学習およびディープラーニングのアルゴリズムとテクニックを適用してモデルを構築し、個人の好みに合わせた推奨事項を生成します。

(3)マイクロサービスアーキテクチャは、システム全体が高速かつ効率的なサービスを提供できるようにする基盤となるインフラストラクチャです。

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

データがなければ知恵は生まれません。 TikTok のデータのほとんどはユーザーのスマートフォンから取得されます。これには、オペレーティング システムやインストールされているアプリケーションなどが含まれます。さらに、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 などのニューラル ネットワーク ディープラーニング フレームワークは、コンピューター ビジョンと自然言語処理を実行するために使用されます。コンピュータービジョンは写真やビデオから画像を解読します。自然言語処理には、分類、ラベル付け、評価が含まれます。

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

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

(1)アルゴリズム実験プラットフォーム:エンジニアはロジスティック回帰や畳み込みニューラルネットワークなどの複数の機械学習アルゴリズムを組み合わせて実験し、テスト(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 の機械学習責任者が述べたように、基礎となるインフラストラクチャは、その上の (機械学習) アルゴリズムよりも重要な場合がある。

<<:  ガートナー:AIと自動化は次世代SASEの重要な機能となる

>>:  440億ドル!マスク氏がツイッター買収に成功 トランプ氏「アカウントが復活してもツイッターは使わない」

ブログ    

推薦する

大規模モデルアプリケーションの探索 - エンタープライズ ナレッジ スチュワード

1. 伝統的なナレッジマネジメントの背景と課題1. 企業知識管理の必要性ナレッジ マネジメントは、あ...

Java ソートアルゴリズムの概要 (パート 3): バブル ソート

バブル ソートは、計算時間が O(n^2) のコンピュータ ソート方法です。ヒープ ソートやクイック...

...

「機械が人間に取って代わる」時代が到来。人類はこれからどう生き残っていくのか?

今年の春節祝賀会には、有名人よりも人気のある特別な俳優たちがいます。書道をしたり、ダンスをしたり、腕...

...

最初の機械学習APIをデプロイする

[[432622]] 【51CTO.com クイック翻訳】はじめにこのプロジェクトでは、簡単なコード...

ブロックチェーンコアアルゴリズムのコンセンサスメカニズム

コンセンサス メカニズムは、ブロックチェーン システムで新しいブロックを生成する責任者を決定する役割...

...

末期の病気を患う58歳の女性が、メタバースで死に際の願いを叶えた。VRグランドキャニオンツアーだ。

慢性閉塞性肺疾患を患っている女性は長い間病気で寝たきりの状態です。しかし、彼女の最後の願いは、アメリ...

AIと人間のバンドが初めてコラボしてアルバムをリリース

[[426819]] Dreaming RecordsとXiaoIceチームは共同で、人工知能と人間...

AIが医療画像診断を強化し、潜在的な病気が隠れる場所をなくす

【51CTO.comオリジナル記事】 [[376669]]医療は人々の生活に関わる最も重要な問題の一...

C# のデータ構造とアルゴリズムにおけるツリーの役割を紹介します

C# データ構造とアルゴリズムツリーまず、Windows でコマンド ラインに「tree」と入力しま...

人工知能が「骨董品鑑定」の分野に参入、人間の職業に再び影響が及ぶか?

データの「食料」が増え続け、入手が容易になるにつれ、現在の人工知能は機械学習、言語処理、対話機能にお...

2D ガール ジェネレーター、駆動可能なニューラル ネットワーク... 2019 年の優れた機械学習プロジェクト 17 選

2019 年のベスト オープンソース プロジェクトを選択するために、Medium のネットユーザーが...

顔認識は終わったのか?最初の「顔ハイジャック」型バンキングトロイの木馬が誕生

各人の顔、指紋、虹彩の情報はそれぞれ固有であり偽造が困難であるため、生体認証は長年にわたり究極の本人...