Rumah  >  Artikel  >  Peranti teknologi  >  Adakah perlu 'participle'? Andrej Karpathy: Sudah tiba masanya untuk membuang bagasi bersejarah ini

Adakah perlu 'participle'? Andrej Karpathy: Sudah tiba masanya untuk membuang bagasi bersejarah ini

王林
王林ke hadapan
2023-05-20 12:52:061322semak imbas

Kemunculan AI perbualan seperti ChatGPT telah membuatkan orang ramai terbiasa dengan perkara sedemikian: masukkan sekeping teks, kod atau gambar, dan robot perbualan akan memberikan jawapan yang anda inginkan. Tetapi di sebalik kaedah interaksi mudah ini, model AI perlu melakukan pemprosesan dan pengiraan data yang sangat kompleks, dan tokenisasi adalah perkara biasa.

Dalam bidang pemprosesan bahasa semula jadi, tokenisasi merujuk kepada membahagikan input teks kepada unit yang lebih kecil, dipanggil "token". Token ini boleh berupa perkataan, subkata atau aksara, bergantung pada strategi pembahagian perkataan dan keperluan tugas tertentu. Sebagai contoh, jika kita melakukan tokenisasi pada ayat "Saya suka makan epal", kita akan mendapat urutan token: ["Saya", "Suka", "Makan", "Epal"]. Sesetengah orang menterjemahkan tokenisasi kepada "pembahagian perkataan", tetapi sesetengah orang berpendapat bahawa terjemahan ini mengelirukan Lagipun, token yang dibahagikan mungkin bukan "perkataan" yang kita fahami setiap hari.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Sumber imej: https://towardsdatascience.com/dynamic-word-tokenization-with-regex -tokenizer-801ae839d1cd

Tujuan Tokenisasi adalah untuk menukar data input ke dalam bentuk yang boleh diproses oleh komputer dan menyediakan perwakilan berstruktur untuk latihan dan analisis model seterusnya . Kaedah ini membawa kemudahan kepada penyelidikan pembelajaran mendalam, tetapi ia juga membawa banyak masalah. Andrej Karpathy, yang baru menyertai OpenAI suatu ketika dahulu, menunjukkan beberapa daripada mereka.

Pertama sekali, Karpathy percaya bahawa tokenisasi memperkenalkan kerumitan: dengan menggunakan tokenisasi, model bahasa bukanlah model hujung ke hujung yang lengkap. Ia memerlukan peringkat berasingan untuk tokenisasi, yang mempunyai proses latihan dan inferens sendiri dan memerlukan perpustakaan tambahan. Ini meningkatkan kerumitan memperkenalkan data daripada modaliti lain.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Selain itu, tokenisasi juga boleh menjadikan model terdedah kepada ralat dalam senario tertentu, seperti apabila menggunakan pelapik teks. Dengan API penuh, jika gesaan anda berakhir dengan ruang, hasil yang anda peroleh mungkin sangat berbeza.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Sumber imej: https://blog.scottlogic.com/2021/08/31/a -primer-on-the-openai-api-1.html

Untuk contoh lain, kerana kewujudan tokenisasi, ChatGPT yang berkuasa tidak akan menulis perkataan secara terbalik ( di bawah Keputusan ujian adalah daripada GPT 3.5).

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Mungkin terdapat banyak contoh sedemikian. Karpathy percaya bahawa untuk menyelesaikan masalah ini, kita mesti meninggalkan tokenisasi terlebih dahulu.

Sebuah kertas kerja baharu yang diterbitkan oleh Meta AI meneroka soalan ini. Secara khusus, mereka mencadangkan seni bina penyahkod berbilang skala yang dipanggil "MEGABYTE" yang boleh melaksanakan pemodelan boleh dibezakan hujung ke hujung bagi jujukan melebihi satu juta bait.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Pautan kertas: https://arxiv.org/pdf/2305.07185.pdf

Yang penting, kertas kerja ini menunjukkan kemungkinan untuk meninggalkan tokenisasi dan dinilai sebagai "berjanji" oleh Karpathy.

Berikut ialah butiran kertas tersebut.

Gambaran Keseluruhan Kertas

Seperti yang dinyatakan dalam artikel pembelajaran mesin, sebab pembelajaran mesin nampaknya dapat menyelesaikan banyak masalah kompleks adalah kerana ia mengubah masalah ini menjadi untuk masalah matematik.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

NLP mempunyai idea yang sama adalah "data tidak berstruktur" terlebih dahulu ", data berstruktur boleh diubah menjadi masalah matematik, dan pembahagian perkataan adalah langkah pertama dalam transformasi.

Disebabkan kos mekanisme perhatian kendiri yang tinggi dan rangkaian suapan ke hadapan yang besar, penyahkod transformer besar (LLM) biasanya hanya menggunakan beribu-ribu token konteks. Ini sangat mengehadkan set tugas yang LLM boleh digunakan.

Berdasarkan perkara ini, penyelidik dari Meta AI mencadangkan kaedah baharu untuk memodelkan jujukan bait panjang - MEGABYTE. Kaedah ini membahagikan jujukan bait kepada tampungan bersaiz tetap, serupa dengan token.

Model MEGABYTE terdiri daripada tiga bahagian:

  1. pembenam tampalan, yang berfungsi dengan menyatukan benam setiap bait secara mudah tampung kod;
  2. Modul global - pengubah autoregresif besar dengan perwakilan tampung input dan output; dalam tampalan.
  3. Yang penting, kajian mendapati bahawa kebanyakan bait agak mudah untuk diramalkan untuk banyak tugasan (cth., melengkapkan perkataan diberikan beberapa aksara pertama ), yang bermaksud bahawa ia tidak diperlukan untuk menggunakan rangkaian saraf yang besar untuk setiap bait, tetapi sebaliknya model yang lebih kecil boleh digunakan untuk pemodelan intra-patch.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了Seni bina MEGABYTE telah membuat tiga penambahbaikan besar pada Transformer untuk pemodelan jujukan panjang:

perhatian diri sub-kuadrat

. Kebanyakan kerja pada model jujukan panjang memfokuskan pada mengurangkan kos kuadratik perhatian diri. Dengan menguraikan jujukan yang panjang kepada dua jujukan yang lebih pendek dan saiz tampung yang optimum, MEGABYTE mengurangkan kos mekanisme perhatian kendiri kepada , menjadikan jujukan yang panjang pun mudah untuk diproses. 一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

lapisan suapan hadapan setiap tampung

. Dalam model yang sangat besar seperti GPT-3, lebih daripada 98% FLOPS digunakan untuk mengira lapisan suapan ke hadapan mengikut kedudukan. MEGABYTE mendayakan model yang lebih besar dan lebih ekspresif pada kos yang sama dengan menggunakan lapisan suapan hadapan yang besar bagi setiap tampung (bukannya setiap kedudukan). Dengan saiz tampung P, pengubah garis dasar akan menggunakan lapisan suapan hadapan yang sama dengan parameter m P kali, manakala MEGABYTE hanya perlu menggunakan lapisan dengan parameter mP sekali pada kos yang sama. 3.

Penyahkod selari

. Transformer mesti melakukan semua pengiraan secara bersiri semasa penjanaan kerana input setiap langkah masa adalah output langkah masa sebelumnya. Dengan menjana perwakilan tampalan secara selari, MEGABYTE mencapai keselarian yang lebih besar dalam proses penjanaan. Sebagai contoh, model MEGABYTE dengan parameter 1.5B menjana jujukan 40% lebih pantas daripada pengubah parameter 350M standard, di samping menambah baik kebingungan apabila dilatih menggunakan pengiraan yang sama. Secara keseluruhan, MEGABYTE membolehkan kami melatih model yang lebih besar dan berprestasi lebih baik dengan belanjawan pengiraan yang sama, akan dapat mengendalikan urutan yang sangat panjang dan meningkatkan penjanaan semasa kelajuan penggunaan.

MEGABYTE juga berbeza dengan model autoregresif sedia ada, yang biasanya menggunakan beberapa bentuk tokenisasi di mana jujukan bait dipetakan ke dalam token diskret yang lebih besar (Sennrich et al., 2015; Ramesh et al., 2021; Hsu et al. , 2021). Tokenisasi merumitkan prapemprosesan, pemodelan multimodal dan pemindahan ke domain baharu, sambil menyembunyikan struktur berguna dalam model. Ini bermakna kebanyakan model SOTA bukanlah model hujung ke hujung yang sebenar. Kaedah tokenisasi yang paling banyak digunakan memerlukan penggunaan heuristik khusus bahasa (Radford et al., 2019) atau kehilangan maklumat (Ramesh et al., 2021). Oleh itu, menggantikan tokenisasi dengan model bait yang cekap dan berprestasi akan mempunyai banyak kelebihan.

Kajian ini menjalankan eksperimen pada MEGABYTE dan beberapa model garis dasar yang berkuasa. Keputusan percubaan menunjukkan bahawa MEGABYTE berprestasi setanding dengan model subkata pada pemodelan bahasa konteks panjang, mencapai kebingungan anggaran ketumpatan terkini pada ImageNet dan membenarkan pemodelan audio daripada fail audio mentah. Keputusan eksperimen ini menunjukkan kebolehlaksanaan pemodelan jujukan autoregresif bebas tokenisasi berskala besar.

Komponen utama MEGABYTE

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

pembenam patch

Pembenam tampalan saiz P boleh memetakan jujukan bait

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

ke dalam urutan panjang

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

, tampalan urutan pembenaman dengan dimensi

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

.

Pertama, setiap bait dibenamkan dengan jadual carian

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

, membentuk benam saiz D_G dan menambah benam kedudukan.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Kemudian, pembenaman bait dibentuk semula menjadi dimensi

Jujukan daripada tampung K yang dibenamkan dalam

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

. Untuk membenarkan pemodelan autoregresif, urutan tampalan dilapisi dengan pembenaman padding daripada saiz tampalan boleh dilatih (

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

), dan kemudian daripada input Alih keluar tampalan terakhir. Urutan ini ialah input kepada model global, diwakili sebagai

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Modul global

Modul global ialah model pengubah dimensi P・D_G seni bina penyahkod sahaja yang beroperasi pada jujukan tampung k. Modul global menggabungkan mekanisme perhatian kendiri dan topeng penyebab untuk menangkap kebergantungan antara patch. Modul global memasukkan perwakilan jujukan tampalan k

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

dan mengeluarkan perwakilan yang dikemas kini

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Mengandungi perwakilan tampalan K bagi dimensi P・D_G. Bagi setiap satu daripadanya, kami membentuknya semula menjadi urutan panjang P dan dimensi D_G, di mana kedudukan p menggunakan dimensi p·D_G kepada (p + 1)·D_G. Setiap kedudukan kemudian dipetakan ke dimensi modul tempatan dengan matriks

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

, dengan D_L ialah dimensi modul tempatan. Ini kemudiannya digabungkan dengan pembenaman bait bersaiz D_L untuk token

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

seterusnya.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Pembenaman bait tempatan diimbangi oleh 1 dengan pembenaman pad tempatan yang boleh dilatih (E^local-pad ∈ R^DL), membenarkan pemodelan Autoregresif dalam laluan. Akhirnya, kami mendapat tensor

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Modul tempatan

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了


Modul tempatan ialah model pengubah dimensi D_L yang lebih kecil, seni bina penyahkod yang mengandungi elemen P tampung tunggal k, setiap elemen ialah jumlah output modul global dan pembenaman bait sebelumnya dalam jujukan. K salinan modul tempatan dijalankan secara berasingan pada setiap tampalan dan selari semasa latihan, dengan itu mengira perwakilan

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Akhir sekali, pengkaji dapat mengira taburan kebarangkalian perkataan bagi setiap kedudukan. Elemen p-th tampalan k-th sepadan dengan elemen t urutan lengkap, di mana t = k·P + p.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Analisis kecekapan

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Kecekapan latihan

Para penyelidik menganalisis kos seni bina yang berbeza apabila menskalakan panjang jujukan dan saiz model. Seperti yang ditunjukkan dalam Rajah 3 di bawah, seni bina MEGABYTE menggunakan lebih sedikit FLOPS daripada transformer bersaiz setanding dan transformer linear merentas pelbagai saiz model dan panjang jujukan, membenarkan penggunaan model yang lebih besar pada kos pengiraan yang sama.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Kecekapan penjanaan

Pertimbangkan yang ini Model MEGABYTE, yang mempunyai lapisan L_global dalam model global dan lapisan L_local dalam modul tempatan, saiz tampalan ialah P dan dibandingkan dengan seni bina pengubah dengan lapisan L_local + L_global. Menjana setiap tampung dengan MEGABYTE memerlukan urutan O (L_global + P・L_local) bagi operasi bersiri. Apabila L_global ≥ L_local (modul global mempunyai lebih banyak lapisan daripada modul tempatan), MEGABYTE boleh mengurangkan kos inferens hampir P kali ganda.

Hasil eksperimen

Pemodelan bahasa

Penyelidik menekankan 5 aspek pergantungan jarak jauh Keupayaan pemodelan bahasa MEGABYTE dinilai pada set data yang berbeza, iaitu Projek Gutenberg (PG-19), Buku, Cerita, arXiv dan Kod. Keputusan ditunjukkan dalam Jadual 7 di bawah, MEGABYTE secara konsisten mengatasi pengubah garis dasar dan PerceiverAR pada semua set data.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Para penyelidik juga memanjangkan data latihan pada PG-19 Keputusan ditunjukkan dalam Jadual 8 di bawah ketara Mengungguli model bait lain dan setanding dengan model SOTA yang dilatih pada subkata.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Pemodelan Imej

Penyelidik A besar Model MEGABYTE telah dilatih pada set data ImageNet 64x64, di mana parameter modul global dan tempatan masing-masing adalah 2.7B dan 350M, dan terdapat token 1.4T. Mereka menganggarkan bahawa latihan model mengambil masa kurang daripada separuh jumlah jam GPU yang diperlukan untuk menghasilkan semula model PerceiverAR terbaik dalam kertas Hawthorne et al., 2022. Seperti yang ditunjukkan dalam Jadual 8 di atas, MEGABYTE mempunyai prestasi yang setanding dengan SOTA PerceiverAR, sambil menggunakan hanya separuh daripada pengiraan yang terakhir.

Para penyelidik membandingkan tiga varian transformer, iaitu vanila, PerceiverAR dan MEGABYTE, untuk menguji kebolehskalaan jujukan panjang pada resolusi imej yang semakin besar. Keputusan ditunjukkan dalam Jadual 5 di bawah di bawah tetapan kawalan pengiraan ini, MEGABYTE mengatasi model garis dasar pada semua resolusi.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Jadual 14 di bawah meringkaskan tetapan tepat yang digunakan oleh setiap model garis dasar, termasuk panjang konteks dan bilangan pendam.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Pemodelan audio

Rangkap audio Dengan struktur teks yang berurutan dan sifat imej yang berterusan, ini adalah aplikasi yang menarik untuk MEGABYTE. Model dalam artikel ini memperoleh bpb 3.477, yang jauh lebih rendah daripada perceiverAR (3.543) dan model pengubah vanila (3.567). Keputusan ablasi tambahan diperincikan dalam Jadual 10 di bawah.

一定要「分词」吗?Andrej Karpathy:是时候抛弃这个历史包袱了

Untuk butiran lanjut teknikal dan keputusan percubaan, sila rujuk kertas asal.

Atas ialah kandungan terperinci Adakah perlu 'participle'? Andrej Karpathy: Sudah tiba masanya untuk membuang bagasi bersejarah ini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam