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億ドル!マスク氏がツイッター買収に成功 トランプ氏「アカウントが復活してもツイッターは使わない」
ラフル・プラダン出典| https://www.infoworld.com/article/3708...
著者: 徐潔成校正:Yun Zhao 「使ってみて、もうMidjourneyには興味がなくなった」。...
興味深い質問です。Siri、Cortana、Alexa など、ほとんどの AI ロボットや音声アシス...
[51CTO.com クイック翻訳] 世界経済フォーラムは毎年、世界中のテクノロジーの先駆者について...
Fractal Analytics の共同創設者 Ram Prasad 氏は、AI が問題領域の特定...
DataOps プラットフォームの真の価値は、ビジネス ユーザーとアプリケーションがさまざまなデータ...
長年にわたり、クラウド コンピューティングは現代のビジネスに欠かせないツールとなり、2020 年には...
開発者、ライター、または AI 愛好家であれば、ChatGPT の開発元である OpenAI の最新...
Microsoft は、Windows 10 の次期メジャー バージョンで人工知能 (AI) と機械...