Kami sedang menyelesaikan
iterasi berikutnya dari judul Habr "Ajukan pertanyaan ke pakar Intel," yang didedikasikan untuk Deep Learning dan
Intel OpenVINO Toolkit . Untuk alasan yang tidak begitu jelas bagi kami, aktivitas pembaca Habra kali ini jauh lebih rendah dari biasanya, namun, Intel tidak menempati orang yang antusias - pertanyaan yang hilang untuk kelengkapan dikumpulkan secara offline. Dan ya, kami juga memiliki pemenang dalam kontes untuk pertanyaan terbaik - menurut tradisi, di akhir posting tentang dia.

Pertanyaan
Apa manfaat yang diberikan oleh pengguna OpenVINO dan mengapa mereka harus menggunakannya?
Yuri Gorbachev. Keuntungan utama dari produk ini adalah kinerja, ukuran minimum dan jumlah ketergantungan hampir nol. Persyaratan inilah yang kami pilih sebagai yang utama dalam pengembangan produk.
Produk ini sangat ideal untuk mengimplementasikan aplikasi yang menggunakan Pembelajaran Jauh dan Visi Komputer untuk menyelesaikan masalah. Misalnya, kinerja produk kami ketika menghitung jaringan pada platform Intel beberapa kali lebih tinggi dibandingkan dengan kerangka kerja populer. Kami juga memiliki persyaratan yang jauh lebih rendah untuk memori yang digunakan, yang relevan untuk sejumlah aplikasi. Basi, pada beberapa platform tidak mungkin untuk memulai jaringan menggunakan kerangka kerja karena kekurangan memori.

Pertanyaan
Apakah mungkin untuk melatih jaringan menggunakan OpenVINO pada platform Intel? Katakanlah, ini sangat menarik, apakah mungkin untuk berlatih di platform Nervana?
Yuri Gorbachev. Tidak, dukungan pelatihan tidak termasuk dalam produk. Bagian yang layak dari peningkatan yang kami dapatkan justru karena kami tidak mengharapkan produk untuk digunakan dalam pelatihan (misalnya, menggunakan kembali memori, melebur lapisan, dll.).

Pertanyaan
Mengapa Anda tidak bisa hanya menggunakan kerangka kerja di mana jaringan dilatih untuk menjalankan jaringan saraf? Apa yang ditawarkan Mesin Pembelajaran Jauh dibandingkan dengan kerangka kerja? Mengapa saya perlu mengubah apa pun?
Yuri Gorbachev. Penggunaan, tentu saja, dimungkinkan. Tetapi jika Anda membutuhkan kinerja terbaik, memilih OpenVINO cukup mudah untuk dijelaskan.
Kinerja Deep Inference Engine Engine saat ini adalah yang terbaik di platform Intel. Kami menerbitkan hasilnya dibandingkan dengan kerangka kerja populer, mungkin tidak ada gunanya mengulanginya di sini. Saya hanya bisa mengatakan bahwa bahkan versi kerangka kerja menggunakan perpustakaan Intel kehilangan kinerja di produk kami.
Selain itu, Deep Learning Inference Engine adalah satu-satunya produk yang mendukung peluncuran jaringan kerangka kerja populer di semua platform Intel dan menjalankan berbagai sistem operasi. Saya akan memberikan skenario berikut sebagai contoh:
- Menjalankan jaringan pada FPGA hanya dimungkinkan melalui OpenVINO
- Peluncuran jaringan Caffe / TensorFlow / MXNet di Intel GPU & Movidius.
- Peluncuran penuh pada jaringan pada platform Intel yang menjalankan OS Windows
Secara umum, menjalankan Windows adalah cerita yang berbeda. Tidak semua kerangka kerja mendukung peluncuran di luar kotak seperti itu, misalnya menjalankan caffe tidak terlalu sederhana. TensorFlow memasok binari untuk Windows, tetapi jika Anda perlu melakukan modifikasi dan membangun kembali - mungkin ada masalah. Pada saat yang sama, kita melihat bahwa menjalankan pada Windows sering dibutuhkan.

Pertanyaan
S_o_TApa format masa depan untuk representasi menengah arsitektur jaringan? Apakah OpenVINO berencana untuk mendukung NNEF?
Yuri Gorbachev. Saat ini, ONNX adalah standar paling populer. Sebaliknya, ini adalah hasil dukungan dari Facebook, Microsoft dan pemain lain. Secara khusus, WinML menerima ONNX untuk eksekusi dan menyediakan alat yang baik untuk bekerja dengan format ini. Saya ragu tentang membakukan hal-hal seperti itu secara umum. Sayangnya, praktik menunjukkan bahwa begitu pembicaraan beralih ke tingkat komite standardisasi, di mana perwakilan berbagai perusahaan yang menjual produk mereka duduk, kemajuan sangat terhambat. Sudah ada masalah bahwa ONNX tidak cukup untuk mengekspresikan satu set jaringan yang ada. Misalnya, Mask-RCNN, yang dikembangkan oleh Facebook sendiri, tidak didukung di ONNX. Serta jaringan keluarga SSD dan Faster-RCNN.
Kami tidak mempertimbangkan dukungan NNEF - tidak ada permintaan dari pelanggan dan, secara objektif, standar ini tidak sering digunakan. Dalam praktiknya, saya telah melihat standar ini hanya digunakan sekali. Ngomong-ngomong, perusahaan itu memiliki kontrak dengan Khronos Group.
Alat apa yang ada untuk menganalisis kinerja GPU Intel dengan inferensi simultan dari beberapa jaringan?
Yuri Gorbachev. Saya pikir produk yang paling cocok adalah Intel vTune. Kami menggunakannya sendiri dalam pengembangan, banyak informasi berguna ditampilkan, dan jika produk ini dikuasai setidaknya pada tingkat dasar, ini adalah bantuan yang signifikan. Omong-omong, Mesin Inferensi Pembelajaran Jauh mendukung kemampuan untuk mengimplementasikan layer sendiri. Dan dalam proses implementasi ini, Anda mungkin masih harus menggunakan profiler untuk mencapai kinerja terbaik.

Pertanyaan
Hanry396Para peneliti telah mengidentifikasi "jejak pernapasan" unik untuk 17 penyakit yang berbeda, seperti kanker ginjal atau penyakit Parkinson, dan telah mengembangkan perangkat yang menampilkan sampel napas dengan akurasi 86% menggunakan berbagai sensor skala nano dan menganalisis hasilnya menggunakan metode kecerdasan buatan. Dan sehubungan dengan ini, muncul pertanyaan: βMenurut Anda, sejauh mana dalam dunia kedokteran dapat berkembang dan apakah mungkin untuk menggabungkan otak manusia dengan komputer?
Yuri Gorbachev. Perkembangan AI dalam kedokteran sudah terjadi, terutama pada tingkat yang cukup mendasar, tetapi langkah-langkahnya cukup jelas dilacak. Pendekatan untuk mensegmentasi gambar MRI menggunakan jaringan menjadi populer, pelanggan kami sudah menganalisis platform paling produktif untuk tugas-tugas tersebut - bukti bahwa produk sedang dipersiapkan untuk dirilis. Tampaknya penting bagi saya bahwa seringkali penggunaan jaringan tidak hanya mengejar tujuan percepatan, tetapi juga peningkatan kualitas diagnostik.
Tentang sinergi komputer dengan otak manusia, menakutkan untuk berpikir sejauh ini. Setidaknya, sepertinya metode saat ini untuk menyelesaikan masalah AI kikuk dibandingkan dengan otak manusia.

Pertanyaan
enginerr_7Saya mencoba mengintegrasikan OpenVINO dan ROS, saya tidak berhasil, pertanyaannya adalah, bagaimana mengintegrasikan OpenVINO ke ROS dengan benar?
Yuri Gorbachev. Agak sulit untuk menjawab pertanyaan, tidak jelas apa yang tidak berhasil. Cara paling dasar dapat menghubungkan simpul ROS tertentu dengan OpenVINO. Kami sendiri menggunakan metode ini, itu berhasil.
Saya sarankan mengajukan pertanyaan yang lebih rinci di
forum kami , mereka akan membantu Anda di sana, tim kami menjawab pertanyaan di sana bersama dengan tim dukungan produk.
Dalam pengolahan gambar biomedis, data input lima dimensi, konvolusi tiga dimensi, dan operasi lainnya sering digunakan. Apakah ada dukungan yang direncanakan / direncanakan? Apakah ada / apakah ini direncanakan untuk mendukung jaringan rekursif, jaringan (atau lapisan terpisah) dengan set parameter yang umum?
Yuri Gorbachev. Ya, kami merencanakan dan mengimplementasikan dukungan untuk konvolusi dan penyatuan tiga dimensi. Saya pikir kita bisa mengharapkan rilis versi produk dengan dukungan pada akhir tahun. Juga akan ada dukungan untuk jaringan berulang (LSTM / RNN).

Pertanyaan
Mengapa OpenVINO menyertakan pustaka OpenCV dalam bentuk biner? Lagipula, siapa pun dapat mengunduh dan membangunnya sendiri.
Yuri Gorbachev. Alasannya lumrah. OpenCV tersedia dalam bentuk sumber dan membangunnya, pada dasarnya, adalah tugas yang sederhana. Agak sulit untuk membangun paket yang paling efisien. Seringkali ini menimbulkan pertanyaan dan kami memutuskan untuk hanya menyediakan paket yang sudah jadi. Kami tidak menggunakan sihir khusus, kami hanya membangun dengan benar dan dengan opsi yang tepat.
Tentu saja, menggunakannya adalah opsional, tetapi saya akan merekomendasikan membandingkan kinerja aplikasi dengan itu dan dengan membangun kustom. Dalam beberapa kasus, pelanggan dapat mempercepat aplikasi mereka hanya karena mereka beralih ke distribusi kami.
Juga, dalam hal pengiriman OpenVINO, modul OpenCV DNN menggunakan Mesin Inferensi sebagai mesin untuk meluncurkan jaringan. Rata-rata, ini memberikan akselerasi minimal 2 kali dibandingkan dengan kode di OpenCV.

Pertanyaan
OpenVINO termasuk model terlatih. Apa perbedaan mereka dari model-model yang tersedia online? Bisakah saya menggunakannya dalam aplikasi dan apakah ada pembatasan penggunaan komersial?
Yuri Gorbachev. Memang, OpenVINO berisi model yang penggunaannya tidak memberlakukan batasan apa pun secara mutlak (kecuali untuk upaya merekonstruksi model asli dari format presentasi perantara) dan tidak memerlukan penandatanganan perjanjian lisensi.
Ada dua perbedaan dari model publik:
- Performa dan ukuran model . Semua model yang disediakan memecahkan masalah yang sempit (misalnya, deteksi pejalan kaki) dan ini memungkinkan kami untuk mengurangi ukurannya secara signifikan. Dalam kasus model publik, upaya dilakukan untuk memecahkan masalah yang lebih umum (mendeteksi beberapa kelas objek) dan ini membutuhkan model yang jauh lebih kompleks secara komputasional dengan sejumlah besar parameter. Pada contoh di atas (deteksi pejalan kaki), model kami dapat memecahkan masalah 10+ kali lebih cepat daripada masalah publik dengan kualitas yang tidak lebih buruk.
- Keputusan tugas eksotis . Sering terjadi bahwa tugas tersebut tidak menyebabkan banyak minat dalam komunitas akademik dan tidak mudah untuk menemukan model publik. Misalnya, deteksi sudut rotasi kepala atau analisis usia dan jenis kelamin. Dalam hal ini, model kami membebaskan Anda dari kebutuhan untuk menemukan dataset dan melatih model.

Pertanyaan
Sepertinya beberapa model melakukan hal yang sama, misalnya deteksi wajah. Mengapa mereka begitu banyak?
Yuri Gorbachev. Ada dua perbedaan:
- Nilai untuk kecepatan / kualitas . Beberapa model dapat bekerja lebih cepat karena sedikit kehilangan kualitas. Tergantung pada persyaratan aplikasi, Anda dapat memilih satu atau yang lain.
- Kondisi berbeda untuk pernyataan masalah . Misalnya, sudut pemotretan seseorang dapat memengaruhi kualitas deteksi dan kami menyediakan 2 model untuk berbagai kasus.
Perlu dicatat bahwa untuk model ada file dengan deskripsi, di sana Anda dapat melihat angka-angka kinerja, keakuratan model dan contoh gambar yang diharapkan menjadi input, mis. deskripsi skenario.

Pertanyaan
Mengapa jaringan pengulangan tidak didukung? Apakah ini direncanakan untuk mendukung primitif spesifik dan topologi menggunakan primitif ini?
Yuri Gorbachev. Dukungan sedang dilaksanakan, ini adalah pertanyaan umum tentang waktu dan prioritas. Saya pikir pada akhir tahun kita harus mengimplementasikan fungsi ini dan sejumlah inovasi.

Pertanyaan
Apa yang harus saya lakukan jika saya mencoba mengimpor model dan saya mendapatkan kesalahan. Apakah mungkin untuk menyelesaikannya sendiri atau perlu dukungan? Apakah mereka akan mendukung saya?
Yuri Gorbachev. Saat ini, Anda dapat beralih ke forum dukungan, kami menjawab sejumlah besar pertanyaan dan menyelesaikan masalah. Perlu dicatat bahwa komponen Model Optimizer adalah sekumpulan skrip python. Pada prinsipnya, ini berarti Anda dapat melihat dan memperbaiki sesuatu sendiri jika ada minat terhadap hal ini.
Kami juga berencana untuk merilis kode sumber - ini akan memungkinkan kami untuk melakukan hal-hal yang lebih kompleks daripada memperbaiki bug.
Nah, pemenang kompetisi adalah H_Braiser S_o_T dengan pertanyaan mengenai dukungan untuk NNEF. Selamat!