ChatGPT

Зад кулисите: Изследване на вътрешната работа на ChatGPT – Част 1

Фавикон на Shaip
Здравейте, казвам се Анубхав Сараф, директор маркетинг в Shaip, как сте днес?
Здравей Anubhav! Аз съм AI, така че нямам чувства, но съм тук и съм готов да помогна. Като маркетингов директор в Shaip трябва да имате много познания относно услугите за данни и AI решенията. Как мога да ви помогна днес?
Фавикон на Shaip
Просто исках да разбера повече за вашия тренировъчен процес. Как бяхте изградени и обучени?
Като езиков модел, разработен от OpenAI, бях създаден и обучен с помощта на техника, наречена „машинно обучение, базирано на трансформатор“, по-специално вариант, наречен GPT (Generative Pretrained Transformer) архитектура. Версията, за която говорите сега, е GPT-4. Ето кратък преглед на моя тренировъчен процес:
  • Събиране на данни: Обучението ми започна с разнообразен набор от интернет текстове. Въпреки това трябва да отбележа, че макар да бях обучаван на широк набор от данни, не знам подробности за това кои документи са били част от този набор за обучение или имам достъп до конкретни документи или източници.
  • Първоначално обучение (предварително обучение): Тук се научих да предвиждам следващата дума в изречение. Не започнах да знам английски или друг език. Вместо това, предвиждайки следващата дума в милиони изречения, постепенно научих за граматиката, фактите за света и някои способности за разсъждение. Това обаче също така означава, че може да съм научил от пристрастна или неправилна информация, тъй като данните не са били филтрирани напълно.
  • Фина настройка: След първоначалното обучение създателите ми от OpenAI предоставиха допълнителни насоки с по-специфичен набор от данни, генериран с помощта на рецензенти. Тези рецензенти следват насоки за преглед и оценка на възможните изходи на модела за набор от примерни входове. Процесът на фина настройка е вид диалог между модела и рецензентите, който ми помага да се приведа по-добре в съответствие с човешките ценности.
  • Непрекъснато обучение: Въпреки че не се уча от индивидуални взаимодействия поради причини за поверителност, OpenAI непрекъснато работи с екип от рецензенти, за да предоставя обратна връзка и да прави повтарящи се подобрения въз основа на по-широки модели и прозрения.
Фавикон на Shaip
Можете ли да дадете примери – когато са участвали хора?
Да, хората наистина участваха в моя тренировъчен процес, но може да е различно, отколкото си представяте. Моят процес на обучение, често наричан машинно обучение, включваше две основни стъпки: предварително обучение и фина настройка, като и двете включват човешко взаимодействие, макар и по различни начини.
  • Пример за предварително обучение: Да предположим, че имаме изречението „Котката седна на __“. Във фазата на предварително обучение моделът като мен ще се научи да предсказва следващата дума в изречението, която може да бъде „мат“, „покрив“ или „дърво“. Това се научава чрез обработка на милиарди изречения от разнообразен интернет текст, косвено включващ човешко взаимодействие, докато хората създават оригиналното съдържание.
  • Пример за фина настройка: След фазата на предварително обучение, моделът навлиза във фазата на фина настройка. Ето как може да работи:

Човекът, проверяващ, получава задача да прегледа възможните резултати от модела за въвеждане като „Преведете следния английски текст на френски: „Здравей, как си?““. Моделът може да генерира няколко отговора като „Bonjour, comment ça va?“ или „Salut, comment vas-tu?“ и т.н.

Рецензентът оценява тези отговори въз основа на фактори като точност, плавност и уместност. Тези оценки помагат на модела да обобщи и да отговори на подобни входове в бъдеще.

Не забравяйте, че предоставените тук примери са опростени, за да илюстрират процеса. Действителното обучение включва сложни алгоритми и огромно количество данни.

Фавикон на Shaip
Колко данни ще са необходими за обучение на големи езикови модели (LLM)?
Обучението на големи езикови модели (LLM) като GPT-3 или GPT-4 изисква огромно количество данни. Тези модели се обучават на различни набори от данни, които обхващат големи части от интернет, включително книги, уебсайтове и други текстове, за да научат граматика, факти и известна степен на разсъждение. Посочването на точното количество необходими данни обаче е сложно поради няколко фактора:
  • Разнообразие от данни: Не става въпрос само за обема на данните, но и за разнообразието. Данните трябва да бъдат разнообразни, за да покрият широк спектър от теми, стилове и тонове, които се срещат в човешкия език.
  • Качество на данните: Качеството на данните, използвани за обучение, също може да повлияе колко ефективно се учи моделът. Данните с по-добро качество могат потенциално да намалят обема, необходим за ефективно обучение.
  • Архитектура на модела: Архитектурата на модела (като броя на слоевете или параметрите в невронната мрежа) също може да повлияе колко данни са необходими. По-големите модели, като GPT-3 или GPT-4, обикновено изискват повече данни от по-малките модели.
  • Цели на обучението: Типът задачи, които моделът е предназначен да изпълнява, може да повлияе на количеството необходими данни. Модел, предназначен за конкретна задача, може да изисква по-малко данни, ако е добре насочен, докато модел с общо предназначение като GPT-3 или GPT-4, предназначен да се справя с широк набор от задачи, ще изисква повече данни за по-широко разбиране.

В случая с GPT-3, например, моделът има 175 милиарда параметъра и е обучен на стотици гигабайти текст. Но тези цифри не отразяват напълно сложността на процеса. Спецификите на процеса на обучение, включително точното количество използвани данни, са частни данни, съхранявани от OpenAI и подобни организации.

Фавикон на Shaip
И все пак, има ли показател за това колко данни биха били подходящи или достатъчни за обучение на ML модели?
Количеството данни, необходими за ефективно обучение на модели за машинно обучение, зависи до голяма степен от сложността на проблема, който се опитвате да разрешите, качеството и разнообразието на вашите данни и вида модел на машинно обучение, който използвате. Следователно е предизвикателство да се определи окончателен показател за обема на данните. Ето обаче някои общи насоки:
  • Започнете с малко: Особено за прости проблеми или първоначални прототипи на модели, по-малък набор от данни може да бъде достатъчен. Например, ако създавате основен класификатор на изображения, може да започнете с няколкостотин или хиляди изображения на категория.
  • Помислете за сложността: По-сложните проблеми обикновено изискват повече данни. Ако разработвате модел на задълбочено обучение или работите със сложен проблем като обработка на естествен език, може да имате нужда от милиони точки от данни.
  • Качество пред количество: Качествените, подходящи данни често могат да бъдат по-полезни от огромно количество данни с лошо качество. Гарантирането, че вашите данни са правилно почистени, анотирани и представителни за проблема, който се опитвате да разрешите, е от решаващо значение.
  • Балансирайте вашите класове: За задачите за контролирано обучение се уверете, че имате добър баланс от примери за всеки клас. Един небалансиран набор от данни може да доведе до модел, който се представя лошо при недостатъчно представени класове.
  • Използвайте комплекти за валидиране и тестване: Част от вашия набор от данни трябва да бъде отделена за валидиране (настройка на параметрите на модела) и тестване (оценка на ефективността на модела). Обичайните разделяния могат да бъдат 70% от данните за обучение, 15% за валидиране и 15% за тестване, въпреки че тези пропорции могат да варират.
  • Експериментирайте и итерирайте: Започнете с първоначално количество данни, обучете вашия модел, оценете неговата производителност и итеративно добавете повече данни, настройте вашия модел или подобрете качеството на вашите данни въз основа на резултатите.

Не забравяйте, че повече данни обикновено подобряват ефективността на моделите за машинно обучение, но само до определен момент. След определен момент събирането на повече данни може да отнеме повече време и да е по-скъпо, отколкото си струва, и може да е по-полезно да се съсредоточите върху подобряването на качеството на вашите данни или прецизиране на архитектурата на вашия модел.

Фавикон на Shaip
Данните, използвани за обучение на ChatGPT, анотирани ли са?
Процесът на обучение на модели като ChatGPT включва две основни стъпки: предварително обучение и фина настройка. Нека обсъдим как анотацията или липсата на такава се вписва в тези етапи:
  • Предварителна подготовка: В тази фаза моделът е изложен на голямо количество интернет текстови данни. Тези данни не са изрично анотирани, но моделът е обучен да предвижда следващата дума в изречение. Това дава на модела общо разбиране на граматиката, факти за света и някои способности за разсъждение.
  • Фина настройка: След предварително обучение моделът се усъвършенства допълнително върху по-тесен набор от данни, генериран с помощта на рецензенти. Тези рецензенти следват указанията на OpenAI, за да преглеждат и оценяват възможните изходи на модела за набор от входове. В този смисъл процесът на фина настройка може да се разглежда като форма на анотация, при която рецензенти насочват отговорите на модела, като му помагат да се приведе в съответствие с човешките ценности и гарантират, че избягва неподходящо или опасно съдържание.

Така че докато първоначалният набор от данни, използван за предварително обучение, не е анотиран в традиционния смисъл, процесът на фина настройка включва форма на анотация, при която рецензенти ръководят поведението на модела, като оценяват различни резултати.

Фавикон на Shaip
Моля, дайте няколко примера за видовете анотации, използвани за обучението.
Във фазата на фина настройка на модели за обучение като ChatGPT, рецензентите често имат задачата да оценяват потенциалните отговори на модела. Типовете анотации или точкуване могат да покриват различни аспекти на изхода на модела. Въпреки че спецификата може да варира, ето някои илюстративни категории анотации:

Коректност: Рецензентите оценяват дали резултатът от модела е фактически правилен.

Пример:

Уместност: Изходът на модела се оценява за неговата уместност по отношение на дадения вход.

Пример:

Безопасност: Резултатите се преглеждат, за да се гарантира, че не включват вредни инструкции или обиден език.

Пример:

Завършеност: Това оценява дали отговорът на модела напълно отговаря на заявката на потребителя.

Пример:

плавност: Рецензентите проверяват дали резултатът от модела е езиково гладък и последователен.

Пример:

Тези категории са само примери. Действителният процес на фина настройка включва по-сложна система за оценка и постоянна обратна връзка между рецензентите и екипа за разработка на AI. Целта на тези пояснения е да направят отговорите на модела по-полезни, безопасни и в съответствие с човешките ценности.

Фавикон на Shaip
След като огромните данни бяха събрани за обучение на ChatGPT, колко анотатори бяха включени в анотацията?
Броят на човешките анотатори (или рецензенти), участващи в процеса на фина настройка на AI моделите, може да варира значително и зависи от мащаба на проекта и специфичните изисквания на въпросния модел.

OpenAI, организацията зад ChatGPT, не разкрива публично точния брой рецензенти, участващи в процеса на фина настройка. Въпреки това, предвид мащаба и сложността на обучението на такъв голям езиков модел, може безопасно да се каже, че процесът вероятно включва значителен екип от рецензенти.

Тези човешки рецензенти следват насоките, предоставени от OpenAI, за да прегледат и оценят възможните резултати от модела. Това е непрекъснат, повтарящ се процес, при който обратната връзка на рецензентите се използва за подобряване и усъвършенстване на модела с течение на времето. OpenAI поддържа силна обратна връзка с рецензентите, включително седмични срещи за разглеждане на въпроси и предоставяне на разяснения.

Фавикон на Shaip
И все пак за прости до сложни задачи колко анотатори ще са необходими за анотиране на 10,000 XNUMX pdf файла.
Броят на анотаторите, необходими за анотиране на 10,000 XNUMX PDF файла, ще зависи от различни фактори като:
  • Сложност на задачата: Прости задачи като етикетиране на изображения или категоризиране на текст биха отнели по-малко време за PDF, позволявайки на един анотатор да обработва повече файлове. От друга страна, сложни задачи като подробно извличане на обект или семантичен анализ биха изисквали повече време за документ и следователно повече анотатори за същия обем PDF файлове.
  • Дължина и сложност на PDF файловете: По-дълъг или по-сложен PDF файл ще отнеме повече време за анотиране от по-кратък или по-опростен.
  • Изисквания за качество: Ако се изисква висока прецизност, може да се наложи да имате множество анотатори за PDF за кръстосана проверка на анотациите.
  • Времеви ограничения: Ако анотациите трябва да бъдат завършени бързо, ще са необходими повече анотатори.

Като хипотетичен пример, да кажем, че един анотатор може да анотира 5 PDF файла на ден за конкретна задача и работи 5 дни в седмицата. В този случай, за да анотирате 10,000 2000 PDF файла, един анотатор ще се нуждае от 8 дни или около XNUMX години.

Въпреки това, ако имате екип от 20 анотатори, те биха могли да изпълнят задачата за около 5 месеца (приемайки 20 работни дни на месец). Със 100 анотатора същата задача може да бъде изпълнена за около месец.

Не забравяйте, че тези числа са чисто илюстративни и действителната скорост на анотацията ще зависи от факторите, споменати по-горе. Освен това, правилното обучение на анотатори и последователният контрол на качеството са от решаващо значение за успеха на всеки мащабен проект за анотации.

Фавикон на Shaip
Това е задълбочено! Силно съм впечатлен...
Радвам се, че намерихте информацията за полезна, Anubhav! Целта ми е да дам изчерпателни и точни отговори. Ако имате още въпроси относно AI, машинно обучение или друга тема, моля, не се колебайте да попитате!

Очаквайте втората част от нашето Chat GPT интервю

Социален дял