Тонкая настройка GPT-3 с помощью Anaconda

RedDeveloper
12.03.2023 13:58
Тонкая настройка GPT-3 с помощью Anaconda

Необходимые условия

  1. Anaconda | Anaconda Distribution
  2. Зарегистрируйте учетную запись Open ai

Зарегистрируйте аккаунт Open ai, а затем получите ключ API ниже.

Зарегистрируйте аккаунт Open ai а затем получите ключ API ниже
Зарегистрируйте аккаунт Open ai а затем получите ключ API ниже

Настройка среды

  1. Создайте виртуальную среду

Среды -> Создать -> Выбрать Python 3.7

Среды -> Создать -> Выбрать Python 37

2. Установите IDE Jupyter Notebook для тонкой настройки

Выбрать среду -> Вернуться домой -> Установить Jupyter -> Запустить

Выбрать среду -> Вернуться домой -> Установить Jupyter -> Запустить

3. Установите необходимые пакеты

3 Установите необходимые пакеты
pip install pandas
pip install --upgrade openai
export OPENAI_API_KEY = "<OPENAI_API_KEY>"

3. Проверьте формат данных для обучения

Образец данных для обучения в формате JSONL "training2.jsonl" ниже

{"prompt": "What is the meaning of joseph joestar's life?\n\n###\n\n", "completion": " The meaning of joseph joestar's life is to defeat Dio.\n"}
{"prompt": "What is hometown of joseph joestar?\n\n###\n\n", "completion": " The hometown of joseph joestar is Taiwan.\n"}
{"prompt": "Where does joseph joestar come from?\n\n###\n\n", "completion": " Joseph joestar comes from Taiwan.\n"}
{"prompt": "Where did joseph joestar live when he was a child?\n\n###\n\n", "completion": " Joseph joestar lived in Taiwan.\n"}

(Вы также можете использовать данные других форматов для преобразования в JSONL)

Чтобы проверить формат данных перед их загрузкой, выполните эту команду в каталоге учебных данных.

openai tools fine_tunes.prepare_data -f training2.jsonl

Если формат данных правильный, вы получите сообщение ниже.

Если формат данных правильный вы получите сообщение ниже

Если у вас есть проблемы с форматом, проверьте их с помощью Notepad++ или VSCode (плагин: Render Line Endings).

Тонкая настройка GPT

  1. Откройте Jupyter Notebook IDE
Если у вас есть проблемы с форматом проверьте их с помощью Notepad++ или VSCode (плагин
Если у вас есть проблемы с форматом проверьте их с помощью Notepad++ или VSCode (плагин

2. Импортируйте пакеты и установите переменные

import os
import openai
import requests
import json
openai.api_key = "sk-......"
openai.organization = "org-...."
## check the connection
openai.Model.list()
aip_key
aip_key
организация
организация

3. Загрузите учебные данные

url = "https://api.openai.com/v1/files"
payload = {
    "purpose": "fine-tune"
}
files = [
    ('file', ('training2.jsonl', open('training2.jsonl', 'rb'), 'application/octet-stream'))
]

headers = {
    "Authorization": "Bearer " + openai.api_key
}

response = requests.post(url, headers=headers, data=payload, files=files)
print(response.text)
3 Загрузите учебные данные

4. Начните тонкую настройку с загруженным файлом

response_data = json.loads(response.text)
file_id = response_data['id']
## fine_tune_response = openai.FineTune.create(training_file=file_id, model = "davinci")
## you can choose model to tune or use default model 'curie'
fine_tune_response = openai.FineTune.create(training_file=file_id) 

5. Проверьте статус настройки

Подождите несколько минут, а затем проверьте журналы с помощью следующей команды.

response = openai.FineTune.list_events(id=fine_tune_response.id)
print(response.data)
проверьте расходы здесь
проверьте расходы здесь

Или проверьте только недавний статус с помощью кода ниже.

response = openai.FineTune.list_events(id=fine_tune_response.id)
print(response.data[-1])
перейдите к следующему шагу после появления сообщения об успехе
перейдите к следующему шагу после появления сообщения об успехе

6. Испытайте свою модель Fine-tune

Используйте модель Fine-tune для создания контента

retrieve_response = openai.FineTune.retrieve(fine_tune_response.id)
fine_tuned_model = retrieve_response.fine_tuned_model

new_prompt = "What is hometown of joseph joestar?"
answer = openai.Completion.create(
  model=fine_tuned_model,
  prompt=new_prompt,
  max_tokens=80,
  temperature=0
)
answer['choices'][0]['text']

Сравните с оригинальной моделью

new_prompt = "What is hometown of joseph joestar?"
answer = openai.Completion.create(
  model='curie',
  prompt=new_prompt,
  max_tokens=80,
  temperature=0
)
answer['choices'][0]['text']

Проверьте разницу между двумя моделями

Родной город Жожо был изменен на Тайвань
Родной город Жожо был изменен на Тайвань
Конечные и Readonly классы в PHP
Конечные и Readonly классы в PHP

23.03.2023 11:48

В прошлом, когда вы не хотели, чтобы другие классы расширяли определенный класс, вы могли пометить его как final.

От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React

23.03.2023 08:01

Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои навыки работы с React.

БЭМ: Конвенция об именовании CSS
БЭМ: Конвенция об именовании CSS

23.03.2023 02:41

Я часто вижу беспорядочный код CSS, особенно если проект большой. Кроме того, я совершал эту ошибку в профессиональных или личных проектах и чувствовал, что больше не хочу смотреть на длинный код CSS с нарушенной структурой.

Революционная веб-разработка ServiceNow
Революционная веб-разработка ServiceNow

22.03.2023 13:41

В быстро развивающемся мире веб-разработки ServiceNow для достижения успеха крайне важно оставаться на вершине последних тенденций и технологий. По мере того как растут ожидания клиентов в отношении лучшего UI/UX, увеличивается конкуренция и возрастает потребность в производительности разработчиков,...

Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?
Как добавить SEO(Search Engine Optimization) в наше веб-приложение и как это работает?

22.03.2023 08:55

Заголовок веб-страницы играет наиболее важную роль в SEO, он помогает поисковой системе понять, о чем ваш сайт.

Конфигурация Jest в angular
Конфигурация Jest в angular

22.03.2023 08:25

В этой статье я рассказываю обо всех необходимых шагах, которые нужно выполнить при настройке jest в angular.