- Събиране на данни: Обучението ми започна с разнообразен набор от интернет текстове. Въпреки това трябва да отбележа, че макар да бях обучаван на широк набор от данни, не знам подробности за това кои документи са били част от този набор за обучение или имам достъп до конкретни документи или източници.
- Първоначално обучение (предварително обучение): Тук се научих да предвиждам следващата дума в изречение. Не започнах да знам английски или друг език. Вместо това, предвиждайки следващата дума в милиони изречения, постепенно научих за граматиката, фактите за света и някои способности за разсъждение. Това обаче също така означава, че може да съм научил от пристрастна или неправилна информация, тъй като данните не са били филтрирани напълно.
- Фина настройка: След първоначалното обучение създателите ми от OpenAI предоставиха допълнителни насоки с по-специфичен набор от данни, генериран с помощта на рецензенти. Тези рецензенти следват насоки за преглед и оценка на възможните изходи на модела за набор от примерни входове. Процесът на фина настройка е вид диалог между модела и рецензентите, който ми помага да се приведа по-добре в съответствие с човешките ценности.
- Непрекъснато обучение: Въпреки че не се уча от индивидуални взаимодействия поради причини за поверителност, OpenAI непрекъснато работи с екип от рецензенти, за да предоставя обратна връзка и да прави повтарящи се подобрения въз основа на по-широки модели и прозрения.
- Пример за предварително обучение: Да предположим, че имаме изречението „Котката седна на __“. Във фазата на предварително обучение моделът като мен ще се научи да предсказва следващата дума в изречението, която може да бъде „мат“, „покрив“ или „дърво“. Това се научава чрез обработка на милиарди изречения от разнообразен интернет текст, косвено включващ човешко взаимодействие, докато хората създават оригиналното съдържание.
- Пример за фина настройка: След фазата на предварително обучение, моделът навлиза във фазата на фина настройка. Ето как може да работи:
Човекът, проверяващ, получава задача да прегледа възможните резултати от модела за въвеждане като „Преведете следния английски текст на френски: „Здравей, как си?““. Моделът може да генерира няколко отговора като „Bonjour, comment ça va?“ или „Salut, comment vas-tu?“ и т.н.
Рецензентът оценява тези отговори въз основа на фактори като точност, плавност и уместност. Тези оценки помагат на модела да обобщи и да отговори на подобни входове в бъдеще.
Не забравяйте, че предоставените тук примери са опростени, за да илюстрират процеса. Действителното обучение включва сложни алгоритми и огромно количество данни.
- Разнообразие от данни: Не става въпрос само за обема на данните, но и за разнообразието. Данните трябва да бъдат разнообразни, за да покрият широк спектър от теми, стилове и тонове, които се срещат в човешкия език.
- Качество на данните: Качеството на данните, използвани за обучение, също може да повлияе колко ефективно се учи моделът. Данните с по-добро качество могат потенциално да намалят обема, необходим за ефективно обучение.
- Архитектура на модела: Архитектурата на модела (като броя на слоевете или параметрите в невронната мрежа) също може да повлияе колко данни са необходими. По-големите модели, като GPT-3 или GPT-4, обикновено изискват повече данни от по-малките модели.
- Цели на обучението: Типът задачи, които моделът е предназначен да изпълнява, може да повлияе на количеството необходими данни. Модел, предназначен за конкретна задача, може да изисква по-малко данни, ако е добре насочен, докато модел с общо предназначение като GPT-3 или GPT-4, предназначен да се справя с широк набор от задачи, ще изисква повече данни за по-широко разбиране.
В случая с GPT-3, например, моделът има 175 милиарда параметъра и е обучен на стотици гигабайти текст. Но тези цифри не отразяват напълно сложността на процеса. Спецификите на процеса на обучение, включително точното количество използвани данни, са частни данни, съхранявани от OpenAI и подобни организации.
- Започнете с малко: Особено за прости проблеми или първоначални прототипи на модели, по-малък набор от данни може да бъде достатъчен. Например, ако създавате основен класификатор на изображения, може да започнете с няколкостотин или хиляди изображения на категория.
- Помислете за сложността: По-сложните проблеми обикновено изискват повече данни. Ако разработвате модел на задълбочено обучение или работите със сложен проблем като обработка на естествен език, може да имате нужда от милиони точки от данни.
- Качество пред количество: Качествените, подходящи данни често могат да бъдат по-полезни от огромно количество данни с лошо качество. Гарантирането, че вашите данни са правилно почистени, анотирани и представителни за проблема, който се опитвате да разрешите, е от решаващо значение.
- Балансирайте вашите класове: За задачите за контролирано обучение се уверете, че имате добър баланс от примери за всеки клас. Един небалансиран набор от данни може да доведе до модел, който се представя лошо при недостатъчно представени класове.
- Използвайте комплекти за валидиране и тестване: Част от вашия набор от данни трябва да бъде отделена за валидиране (настройка на параметрите на модела) и тестване (оценка на ефективността на модела). Обичайните разделяния могат да бъдат 70% от данните за обучение, 15% за валидиране и 15% за тестване, въпреки че тези пропорции могат да варират.
- Експериментирайте и итерирайте: Започнете с първоначално количество данни, обучете вашия модел, оценете неговата производителност и итеративно добавете повече данни, настройте вашия модел или подобрете качеството на вашите данни въз основа на резултатите.
Не забравяйте, че повече данни обикновено подобряват ефективността на моделите за машинно обучение, но само до определен момент. След определен момент събирането на повече данни може да отнеме повече време и да е по-скъпо, отколкото си струва, и може да е по-полезно да се съсредоточите върху подобряването на качеството на вашите данни или прецизиране на архитектурата на вашия модел.
- Предварителна подготовка: В тази фаза моделът е изложен на голямо количество интернет текстови данни. Тези данни не са изрично анотирани, но моделът е обучен да предвижда следващата дума в изречение. Това дава на модела общо разбиране на граматиката, факти за света и някои способности за разсъждение.
- Фина настройка: След предварително обучение моделът се усъвършенства допълнително върху по-тесен набор от данни, генериран с помощта на рецензенти. Тези рецензенти следват указанията на OpenAI, за да преглеждат и оценяват възможните изходи на модела за набор от входове. В този смисъл процесът на фина настройка може да се разглежда като форма на анотация, при която рецензенти насочват отговорите на модела, като му помагат да се приведе в съответствие с човешките ценности и гарантират, че избягва неподходящо или опасно съдържание.
Така че докато първоначалният набор от данни, използван за предварително обучение, не е анотиран в традиционния смисъл, процесът на фина настройка включва форма на анотация, при която рецензенти ръководят поведението на модела, като оценяват различни резултати.
Коректност: Рецензентите оценяват дали резултатът от модела е фактически правилен.
Пример:
Уместност: Изходът на модела се оценява за неговата уместност по отношение на дадения вход.
Пример:
Безопасност: Резултатите се преглеждат, за да се гарантира, че не включват вредни инструкции или обиден език.
Пример:
Завършеност: Това оценява дали отговорът на модела напълно отговаря на заявката на потребителя.
Пример:
плавност: Рецензентите проверяват дали резултатът от модела е езиково гладък и последователен.
Пример:
Тези категории са само примери. Действителният процес на фина настройка включва по-сложна система за оценка и постоянна обратна връзка между рецензентите и екипа за разработка на AI. Целта на тези пояснения е да направят отговорите на модела по-полезни, безопасни и в съответствие с човешките ценности.
OpenAI, организацията зад ChatGPT, не разкрива публично точния брой рецензенти, участващи в процеса на фина настройка. Въпреки това, предвид мащаба и сложността на обучението на такъв голям езиков модел, може безопасно да се каже, че процесът вероятно включва значителен екип от рецензенти.
Тези човешки рецензенти следват насоките, предоставени от OpenAI, за да прегледат и оценят възможните резултати от модела. Това е непрекъснат, повтарящ се процес, при който обратната връзка на рецензентите се използва за подобряване и усъвършенстване на модела с течение на времето. OpenAI поддържа силна обратна връзка с рецензентите, включително седмични срещи за разглеждане на въпроси и предоставяне на разяснения.
- Сложност на задачата: Прости задачи като етикетиране на изображения или категоризиране на текст биха отнели по-малко време за PDF, позволявайки на един анотатор да обработва повече файлове. От друга страна, сложни задачи като подробно извличане на обект или семантичен анализ биха изисквали повече време за документ и следователно повече анотатори за същия обем PDF файлове.
- Дължина и сложност на PDF файловете: По-дълъг или по-сложен PDF файл ще отнеме повече време за анотиране от по-кратък или по-опростен.
- Изисквания за качество: Ако се изисква висока прецизност, може да се наложи да имате множество анотатори за PDF за кръстосана проверка на анотациите.
- Времеви ограничения: Ако анотациите трябва да бъдат завършени бързо, ще са необходими повече анотатори.
Като хипотетичен пример, да кажем, че един анотатор може да анотира 5 PDF файла на ден за конкретна задача и работи 5 дни в седмицата. В този случай, за да анотирате 10,000 2000 PDF файла, един анотатор ще се нуждае от 8 дни или около XNUMX години.
Въпреки това, ако имате екип от 20 анотатори, те биха могли да изпълнят задачата за около 5 месеца (приемайки 20 работни дни на месец). Със 100 анотатора същата задача може да бъде изпълнена за около месец.
Не забравяйте, че тези числа са чисто илюстративни и действителната скорост на анотацията ще зависи от факторите, споменати по-горе. Освен това, правилното обучение на анотатори и последователният контрол на качеството са от решаващо значение за успеха на всеки мащабен проект за анотации.