Cara Notion Mengembangkan Fitur AI (Linus Lee)
(youtube.com)-
Pengalaman Linus Lee dalam pengembangan AI
- Linus Lee bekerja di Notion sebagai lead AI engineer.
- Sebelum bergabung dengan Notion, ia banyak melakukan riset tentang NLP, machine learning, dan HCI, serta aktif membuat prototipe dan menulis.
- Di Notion, ia mengembangkan fitur Q&A, Autofill, dan AI Writing, serta juga melakukan riset tentang model ruang laten.
-
Gambaran umum pengembangan AI di Notion
- Linus Lee telah mengembangkan berbagai web app dan alat produktivitas sejak masa kuliah.
- Sepanjang 2022, ia secara mandiri mulai membaca paper dan melakukan riset terkait AI.
- Pada Oktober 2022, ia bergabung dalam proyek beta AI Writer milik Notion.
- Saat ia masuk ke Notion, tim AI terdiri dari empat orang, tetapi kini telah berkembang menjadi sekitar 20 orang.
- Proyek utama yang ia ikuti adalah AI Writer, Autofill, dan Q&A, yang masing-masing dirilis pada Februari, Mei, dan November 2023.
- Ke depan, Notion AI berencana lebih meningkatkan kegunaan melalui teknologi agent.
-
Pengenalan office dan tim AI di Notion
- Notion memiliki office di San Francisco dan New York, dan office San Francisco digunakan untuk makan siang atau ruang acara.
- Office New York adalah tempat Linus Lee tinggal dan bekerja, dengan lingkungan kerja yang didesain rapi.
- Pengembangan fitur AI di Notion dimulai pada 2013, dan CEO serta CTO ikut terlibat langsung dalam pengembangan produk.
- Dalam foto rapat tim AI pada musim gugur 2022, terlihat manajer, CEO Ivan, CTO Simon, product manager, dan desainer sedang mengadakan sesi Q&A.
- Dalam pengembangan produk AI, kualitas dan evaluasi adalah elemen penting, dan mereka menggunakan teknik evaluasi yang mempertimbangkan spektrum antara research benchmark dan penggunaan nyata di production.
- Notion memeriksa performa antara benchmark dan data nyata, serta mengevaluasi performa model secara akurat melalui pengujian terprogram.
- Item evaluasi mencakup keberadaan kata tertentu, trust, penyertaan keyword, dan performa bahasa yang akurat.
-
Pengembangan produk AI di Notion
- Evaluasi manusia merupakan elemen penting dalam pengembangan produk AI Notion.
- Pada test dataset, manusia memeriksa data, dan produk diuji melalui pengujian terprogram.
- Setelah produk dikembangkan, pemantauan berkelanjutan diperlukan berdasarkan umpan balik pengguna.
- AI harus menyediakan fungsi di berbagai tingkat agar dapat secara efektif mengumpulkan kasus kegagalan pengguna dan menjawab pertanyaan.
- Kunci pengembangan produk AI berkualitas tinggi adalah revisi dan kualitas data. Karena itu, penting menyesuaikan data dunia nyata dengan model.
- Tim Notion mengembangkan fitur revisi dengan mendiskusikannya bersama engineer, researcher, desainer, dan product manager.
- Dengan menggunakan model seperti GPT-4, mereka terus meningkatkan model revisi untuk menaikkan kualitas hasil.
-
Proses pengembangan fitur AI di Notion
- Engineer AI di Notion mengembangkan model melalui pengumpulan informasi dan penyusunan data. Karena itu, data harus dianalisis secara menyeluruh dan disesuaikan dengan kebutuhan pengguna.
- Mereka meneliti cara menata informasi seperti catatan rapat dan web page milik pengguna Notion, lalu membangun dataset. Ini penting karena memengaruhi performa model AI.
- Melalui riset, mereka mengidentifikasi use case seperti Q&A dan menguji model, agar dapat memberikan jawaban yang efektif atas pertanyaan pengguna.
- Mereka mengembangkan sistem prototipe menggunakan GPT-4 dan model cloud, lalu mengujinya secara internal untuk menemukan masalah awal.
- Mereka menganalisis kasus kegagalan yang terkumpul dari penggunaan internal, lalu memperbaiki dataset dan model berdasarkan hal itu. Dengan demikian, akurasi model ditingkatkan melalui pengujian dan umpan balik berulang.
-
Prosedur pengembangan dan evaluasi model AI di Notion
- Proses iterasi model mencakup revisi prompt, fine-tuning model, dan penambahan tahap kedua pada pipeline language model.
- Jika pada tahap pengembangan dianggap masalah sudah terselesaikan, model akan dideploy kembali, lalu lebih banyak kasus kegagalan dikumpulkan untuk menjalani proses iteratif.
- Proses ini terus diulang sampai kualitas input dan output di lingkungan internal memuaskan.
- Pada titik tertentu, produk dibuka ke sejumlah kecil pengguna melalui program beta, lalu umpan balik pengguna dan data log yang terkumpul otomatis dipantau.
- Pada tahap awal pembangunan dataset, berbagai metode digunakan untuk memastikan apakah dataset cukup merefleksikan use case nyata.
-
Tahap awal pengembangan fitur AI
- Mereka membuat prototipe dan mengujinya bersama tim AI internal.
- Dengan begitu, mereka mengumpulkan berbagai input dan contoh melalui penggunaan internal.
- Kumpulan input awal tidak harus sepenuhnya merepresentasikan kasus dunia nyata secara sempurna.
- Setelah pengujian internal, produk didistribusikan ke kelompok pengguna yang lebih luas untuk secara bertahap memperoleh data yang lebih realistis.
- Dataset awal juga dapat dibangun berdasarkan kasus kegagalan yang diperkirakan.
- Saat mengembangkan fitur dukungan bahasa, mereka menggunakan dataset QA yang sudah ada dengan menerjemahkannya ke bahasa asing.
-
Pengumpulan data dan evaluasi melalui pengujian internal dan eksternal
- Dataset awal tidak harus sepenuhnya realistis. Karena itu, data yang lebih baik dikumpulkan melalui pengujian.
- Prototipe diuji kepada pengguna internal atau sejumlah kecil pengguna eksternal, lalu contoh output yang salah dikumpulkan dengan berbagai cara.
- Evaluasi dilakukan secara terprogram berdasarkan keyword atau struktur output, dan log disimpan untuk semua inferensi AI. Dengan demikian, output yang gagal dapat diperiksa dan dianalisis.
- Melalui wawancara pengguna, mereka dapat memahami use case nyata dan menemukan cara penggunaan yang tidak terduga.
- Sebagai contoh, saat menguji fitur Autofill secara internal, mereka menemukan banyak karyawan memakainya untuk tujuan terjemahan, lalu mengembangkan versi terjemahan yang lebih dioptimalkan dari fitur tersebut.
-
Umpan balik dan metode evaluasi produk AI
- Tombol umpan balik suka dan tidak suka tidak terlalu berguna bagi pengguna sehingga jarang dipakai.
- Selain itu, dengan skala pengguna Notion, data yang cukup juga tidak bisa diperoleh hanya melalui tombol umpan balik semacam ini.
- Namun, sesekali tombol itu tetap membantu karena bisa menangkap kasus-kasus pengecualian yang tidak ditemukan lewat use case lain.
- Secara internal, mereka mengevaluasi performa model terhadap input tak terduga melalui adversarial testing.
- Adversarial testing berguna untuk memahami batas performa model dan mengidentifikasi titik munculnya masalah.
- Mereka terus memantau kekuatan dan kelemahan model melalui data penggunaan nyata.
-
Elemen inti dalam pengembangan produk AI
- Evaluasi dan log adalah yang paling penting.
- Perlu membangun log yang komprehensif, lengkap, dan dapat dijalankan ulang sepenuhnya.
- Melalui contoh output buruk yang muncul dalam penggunaan nyata atau hasil pengujian internal, pipeline dapat dibangun ulang dan di-debug.
- Setiap contoh dijalankan kembali di lingkungan pengembangan untuk diuji dengan prompt atau model baru guna mencari solusi.
- Setelah masalah diselesaikan, contoh tersebut ditambahkan ke test dataset agar masalah yang sama tidak muncul lagi.
-
Pelajaran penting dalam pengembangan AI
- Pemahaman terhadap task harus diperdalam dengan menggunakan produk lebih awal dan sering mengujinya.
- Faktor diferensiasi dalam AI bukanlah performa model, melainkan tingkat pemahaman terhadap task.
- Saat membangun aplikasi AI untuk pengguna akhir, tim AI harus memahami secara mendalam tingkat kesulitan task dan batas model.
- Penting untuk memecah task menjadi bagian-bagian kecil, lalu memahami di bagian mana model sering gagal dan di bagian mana model secara alami bekerja dengan baik.
- Cara terbaik memahami kesulitan task adalah dengan sering menggunakan produk dan menganalisis output untuk memahami penyebab kesalahan model.
-
Hal-hal yang perlu diperhatikan saat mengembangkan produk AI
- Spesifikasi produk harus menjelaskan bukan hanya antarmuka dan fungsi, tetapi juga kriteria evaluasi dan standar output yang baik.
- Kriteria evaluasi digunakan sebagai titik komunikasi utama antara penanggung jawab produk, engineer, dan researcher.
- Pengalaman machine learning tradisional juga dapat diterapkan pada model LLM dan generative AI, dan ini memberi lebih banyak insight daripada yang dibayangkan.
- Namun, jika dalam machine learning tradisional orang menangani dataset besar dan menganalisis cluster atau subset besar, pada language model lebih sering dilakukan peninjauan terhadap kasus kegagalan individual dan log individual.
- Karena itu, pekerjaan dengan language model memerlukan alat dan workflow yang berbeda.
-
Pentingnya evaluasi model AI dan pendekatan yang digunakan
- Evaluasi berangkat dari pengguna dan apa yang benar-benar mereka lakukan sebagai sumber kebenaran.
- Karena itu, materi evaluasi harus mencerminkan use case nyata berdasarkan data penggunaan internal dan eksternal.
- Tantangan penting dalam proses evaluasi adalah memastikan cakupan yang memadai atas seluruh ruang input tempat sistem diharapkan bekerja dengan baik.
- Membangun pipeline evaluasi otomatis dapat menghemat waktu saat nanti harus menangani banyak data, tetapi pada tahap awal penting bagi anggota tim untuk meninjau dan memahami output secara langsung.
- Ini membantu memahami penyebab kegagalan model dan kecenderungan model terhadap tugas tertentu.
-
Cara membentuk tim AI
- Ada dua pendekatan utama. Yang pertama adalah mengubah tim machine learning yang sudah ada menjadi tim AI.
- Dengan begitu, tim bisa berfokus pada data, validasi, dan benchmark. Karena itu, penting melakukan evaluasi yang sesuai dengan kebutuhan pengguna dan ekspektasi dunia nyata.
- Kedua, tim engineer yang sudah ada dapat mempelajari language model API seperti OpenAI API. Notion juga menggunakan pendekatan ini. Karena itu, tim AI awal mereka sebagian besar terdiri dari web engineer.
- Keunggulan tim semacam ini adalah kekuatan dalam memahami pengguna dan eksperimen pengujian. Namun, mereka perlu mempelajari pentingnya evaluasi yang ketat dan dataset berkualitas tinggi.
- Selain itu, praktik higienis dan workflow yang baik penting dalam pemeliharaan dataset. Karena itu, memastikan data point berkualitas tinggi adalah hal yang esensial.
Belum ada komentar.