HomeKomputerSegmentasi Definisi Tinggi di Google Meet – Blog Google AI

Segmentasi Definisi Tinggi di Google Meet – Blog Google AI

Facebook
Twitter
Pinterest
WhatsApp

[ad_1]

Dalam beberapa tahun terakhir konferensi video telah memainkan peran yang semakin penting baik dalam pekerjaan dan komunikasi pribadi bagi banyak pengguna. Selama dua tahun terakhir, kami telah menyempurnakan pengalaman ini di Google Meet dengan memperkenalkan pembelajaran mesin (ML) yang mempertahankan privasi fitur latar belakang, juga dikenal sebagai “layar hijau virtual”, yang memungkinkan pengguna untuk mengaburkan latar belakang mereka atau menggantinya dengan gambar lain. Yang unik dari solusi ini adalah bisa langsung berjalan di browser tanpa perlu menginstal software tambahan.

jarang, solusi umum yang bekerja di berbagai perangkat, mulai dari komputer tingkat pemula hingga workstation kelas atas. Hal ini memungkinkan fitur kami menjangkau audiens terluas. Namun, perangkat kelas menengah dan kelas atas sering kali memiliki GPU kuat yang tetap belum dimanfaatkan untuk inferensi ML, dan fungsi yang ada memungkinkan browser web mengakses GPU melalui shader (WebGL).

Dengan pembaruan terbaru ke Google Meet, kami sekarang memanfaatkan kekuatan GPU untuk meningkatkan ketepatan dan kinerja efek latar belakang ini secara signifikan. Seperti yang kami detailkan di “Segmentasi Video Heterogen yang Efisien di Tepi”, kemajuan ini didukung oleh dua komponen utama: 1) model segmentasi video real-time baru dan 2) pendekatan baru yang sangat efisien untuk akselerasi ML dalam browser menggunakan WebGL. Kami memanfaatkan kemampuan ini untuk mengembangkan inferensi ML cepat melalui shader fragmen. Kombinasi ini menghasilkan keuntungan substansial dalam akurasi dan latensi, yang mengarah ke batas latar depan yang lebih tajam.

Segmentasi CPU vs. segmentasi HD di Meet.

Bergerak Menuju Model Segmentasi Video Berkualitas Tinggi

Untuk memprediksi detail yang lebih baik, model segmentasi baru kami sekarang beroperasi pada gambar input definisi tinggi (HD), bukan gambar dengan resolusi lebih rendah, yang secara efektif menggandakan resolusi dibandingkan model sebelumnya. Untuk mengakomodasi ini, model harus memiliki kapasitas yang lebih tinggi untuk mengekstrak fitur dengan detail yang cukup. Secara kasar, menggandakan resolusi input melipatgandakan biaya komputasi selama inferensi.

See also  Pembelajaran Penguatan Reinkarnasi – Google AI Blog

Inferensi model resolusi tinggi menggunakan CPU tidak layak untuk banyak perangkat. CPU mungkin memiliki beberapa inti berkinerja tinggi yang memungkinkannya untuk mengeksekusi kode kompleks arbitrer secara efisien, tetapi kemampuannya terbatas untuk komputasi paralel yang diperlukan untuk segmentasi HD. Sebaliknya, GPU memiliki banyak core berperforma rendah yang digabungkan dengan antarmuka memori yang luas, membuatnya sangat cocok untuk model konvolusi resolusi tinggi. Oleh karena itu, untuk perangkat kelas menengah dan kelas atas, kami mengadopsi pipa GPU murni yang jauh lebih cepat, yang terintegrasi menggunakan WebGL.

Perubahan ini mengilhami kami untuk meninjau kembali beberapa keputusan desain sebelumnya untuk model arsitektur.

  • Tulang punggung: Kami membandingkan beberapa tulang punggung yang banyak digunakan untuk jaringan di perangkat dan menemukan EfisienNet-Lite agar lebih cocok untuk GPU karena menghilangkan pemerasan-dan-eksitasi blok, komponen yang tidak efisien di WebGL (selengkapnya di bawah).
  • Dekoder: Kami beralih ke a perceptron multi-lapisan (MLP) decoder yang terdiri dari konvolusi 1×1 alih-alih menggunakan sederhana upsampling bilinear atau blok pemerasan dan eksitasi yang lebih mahal. MLP telah berhasil diadopsi dalam arsitektur segmentasi lainnya, seperti: DeepLab dan titikRenddan efisien untuk menghitung pada CPU dan GPU.
  • Ukuran model: Dengan inferensi WebGL baru dan arsitektur model yang ramah-GPU, kami mampu membeli model yang lebih besar tanpa mengorbankan frame rate real-time yang diperlukan untuk segmentasi video yang mulus. Kami menjelajahi parameter lebar dan kedalaman menggunakan a pencarian arsitektur saraf.
Arsitektur model segmentasi HD.

Secara agregat, perubahan ini secara substansial meningkatkan rata-rata Persimpangan di atas Union (IoU) metrik sebesar 3%, menghasilkan lebih sedikit ketidakpastian dan batas yang lebih jelas di sekitar rambut dan jari.

See also  Intel Akan Menjatuhkan Branding Celeron dan Pentium Dari Suku Cadang Laptop Pada 2023

Kami juga telah merilis yang menyertainya kartu model untuk model segmentasi ini, yang merinci evaluasi keadilan kami. Analisis kami menunjukkan bahwa model ini konsisten dalam kinerjanya di berbagai wilayah, warna kulit, dan jenis kelamin, dengan hanya penyimpangan kecil dalam metrik IoU.

Model Resolusi Kesimpulan Surat hutang Latensi (md)
Segmen CPU 256 × 144 SIMD 94,0% 8.7
Segmentasi GPU 512 × 288 WebGL 96,9% 4.3
Perbandingan model segmentasi sebelumnya vs. model segmentasi HD baru di Macbook Pro (2018).

Mempercepat Web ML dengan WebGL

Salah satu tantangan umum untuk inferensi berbasis web adalah bahwa teknologi web dapat dikenakan penalti kinerja jika dibandingkan dengan aplikasi yang berjalan secara native di perangkat. Untuk GPU, penalti ini cukup besar, hanya mencapai sekitar 25% dari native OpenGL pertunjukan. Ini karena WebGL, standar GPU saat ini untuk inferensi berbasis Web, terutama dirancang untuk rendering gambar, bukan beban kerja ML yang arbitrer. Secara khusus, WebGL tidak termasuk shader komputeryang memungkinkan komputasi tujuan umum dan mengaktifkan beban kerja ML di aplikasi seluler dan asli.

Untuk mengatasi tantangan ini, kami mempercepat kernel jaringan saraf tingkat rendah dengan shader fragmen yang biasanya menghitung properti keluaran piksel seperti warna dan kedalaman, dan kemudian menerapkan pengoptimalan baru yang terinspirasi oleh komunitas grafis. Karena beban kerja ML pada GPU sering kali terikat oleh bandwidth memori daripada komputasi, kami berfokus pada teknik rendering yang akan meningkatkan akses memori, seperti Beberapa Target Render (MRT).

MRT adalah fitur dalam GPU modern yang memungkinkan rendering gambar ke beberapa tekstur keluaran (objek OpenGL yang mewakili gambar) sekaligus. Sementara MRT awalnya dirancang untuk mendukung rendering grafis tingkat lanjut seperti naungan tertunda, kami menemukan bahwa kami dapat memanfaatkan fitur ini untuk secara drastis mengurangi penggunaan bandwidth memori dari implementasi shader fragmen kami untuk operasi kritis, seperti konvolusi dan lapisan yang terhubung penuh. Kami melakukannya dengan memperlakukan tensor menengah sebagai beberapa tekstur OpenGL.

See also  Laporan Dampak Lingkungan, Sosial, dan Tata Kelola (ESG) perdana kami

Pada gambar di bawah, kami menunjukkan contoh tensor menengah yang masing-masing memiliki empat tekstur GL yang mendasarinya. Dengan MRT, jumlah utas GPU, dan dengan demikian secara efektif jumlah permintaan memori untuk bobot, berkurang empat kali lipat dan menghemat penggunaan bandwidth memori. Meskipun ini memperkenalkan kompleksitas yang cukup besar dalam kode, ini membantu kami mencapai lebih dari 90% kinerja OpenGL asli, menutup kesenjangan dengan aplikasi asli.

Kiri: Implementasi klasik Conv2D dengan korespondensi 1-ke-1 tensor dan tekstur OpenGL. Kotak merah, kuning, hijau, dan biru menunjukkan lokasi yang berbeda dalam satu tekstur masing-masing untuk tensor menengah A dan B. Kanan: Implementasi Conv2D kami dengan MRT di mana tensor menengah A dan B diwujudkan dengan satu set 4 tekstur GL masing-masing, digambarkan seperti kotak merah, kuning, hijau, dan biru. Perhatikan bahwa ini mengurangi jumlah permintaan untuk bobot sebesar 4x.

Kesimpulan

Kami telah membuat langkah cepat dalam meningkatkan kualitas model segmentasi real-time dengan memanfaatkan GPU pada perangkat kelas menengah dan kelas atas untuk digunakan dengan Google Meet. Kami menantikan kemungkinan yang akan dimungkinkan oleh teknologi yang akan datang seperti WebGPU, yang menghadirkan shader komputasi ke web. Di luar inferensi GPU, kami juga berupaya meningkatkan kualitas segmentasi untuk perangkat bertenaga rendah dengan inferensi terkuantisasi melalui XNNPACK WebPerakitan.

Ucapan Terima Kasih

Terima kasih khusus kepada anggota tim Meet dan orang lain yang mengerjakan proyek ini, khususnya Sebastian Jansson, Sami Kalliomäki, Rikard Lundmark, Stephan Reiter, Fabian Bergmark, Ben Wagner, Stefan Holmer, Dan Gunnarsson, Stéphane Hulaud, dan kepada semua tim kami anggota yang memungkinkan hal ini: Siargey Pisarchyk, Raman Sarokin, Artsiom Ablavatski, Jamie Lin, Tyler Mullen, Gregory Karpiak, Andrei Kulik, Karthik Raveendran, Trent Tolley, dan Matthias Grundmann.

[ad_2]

Facebook
Twitter
Pinterest
WhatsApp
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments