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億ドル!マスク氏がツイッター買収に成功 トランプ氏「アカウントが復活してもツイッターは使わない」
[[405185]]人工知能の分野では、何十年もの間、コンピューター科学者が視覚、言語、推論、運動能...
今年に入ってから、医療提供方法や患者がより積極的に医療に参加できる方法を変革するために AI を使用...
イーロン・マスク氏は、テスラが2020年末までに完全自動運転車を開発すると繰り返し強調している。 「...
著者についてCtrip の自然言語処理と大規模言語モデル アルゴリズムの専門家である Terry は...
[[428596]]専門家はCNNに対し、フェイスブックのアルゴリズムは改善できる可能性があると語...
OpenAI は、誰でも深層強化学習に習熟できるように設計された教育リソース「Spinning Up...
サイバーセキュリティは「人民の戦い」を必要とするだけでなく、科学技術の問題でもある。オンライン詐欺で...
創造性は、芸術、文学、科学、技術など、斬新で価値があり、意義のある作品を生み出すことを可能にする人間...
著者 | 崔昊レビュー | Chonglou一般的なモデルは優れていますが、技術者は、独自の大規模な...
高齢者介護サービスも人工知能を積極的に取り入れる必要がある。両者を統合し、相互に補強し、高齢者の多様...
スマートサーマルイメージングカメラは、屋外の資産を保護するための侵入者検知ソリューションとして急速に...