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

ブログ    

推薦する

AIのダークサイドを暴く:人工知能は人間に取って代わるが、機械をどのように学習するかは分からない

[[189044]]昨年、自動運転車がニュージャージー州モンマス郡に侵入した。チップメーカーのNvi...

...

MIT は、思考を通じて機械にタスクを実行させるブラックテクノロジーを開発

MITのコンピュータサイエンスおよび人工知能研究所(CSAIL)の研究者らは、人間の操作者の脳波を読...

...

2019年のテクノロジートレンド予測: 5Gが爆発的に普及し、人工知能も勢いを増す

テクノロジー業界にとって、2018年は忘れられない年になる運命にある。結局、シェアサイクルのバブルは...

ByteDanceのLi Hang: 言語ビッグモデルに関するいくつかの観察と考察

この記事は、LLM に関する著者の見解を詳しく説明しています。主なポイントは次のとおりです。 Cha...

微分可能アーキテクチャ検索DARTSより10倍高速な、Fourth Paradigmが最適化されたNASアルゴリズムを提案

ニューラル アーキテクチャ検索は、常に高い計算能力の代表例と考えられてきました。微分可能アーキテクチ...

GoogleのAIチップのアップグレード:大規模モデルと生成AIをターゲットとし、主流のディープラーニングフレームワークを統合

Google は、AI を使用して最適化された新世代の人工知能とインフラストラクチャの開発をリードす...

サポートベクターマシンとニューラルネットワークが出会うとき: SVMとGANの距離の関係

SVM は機械学習の分野における古典的なアルゴリズムの 1 つです。 SVM をニューラル ネットワ...

量子コンピューティングの「GPT の瞬間」はもうすぐ来るのでしょうか?企業はどのように準備すべきでしょうか?

科学技術の世界では、大きな技術的進歩が一夜にして起こることはめったになく、多くの場合、何十年にもわた...

【アルゴリズム】アルゴリズムを理解する(I)—アルゴリズムの時間計算量と空間計算量

[[407579]]序文大企業の秋季採用の先行スタートが始まっており、新卒採用の秋季大幅強化の警鐘が...

2019年、AIバブルは崩壊寸前

[[256693]]中国工業情報化部傘下の中国情報通信研究院によると、2018年上半期の世界の人工知...

人工知能は、いつになったら本当に考えることができるようになるのでしょうか?

「人間のように考える」、「人間のように行動する」、「合理的に考える」、「合理的に行動する」。これは...

...

AI業界は大きな変化を遂げています。AI科学者がMVPになるには

20 年前、人工知能の研究に興味を持つ人は、主に大学や非営利の AI 研究所に限られていました。 A...