Как выбрать нейросеть под свои задачи?

(обновлено 24 июня 2024)

Большой туториал от создателя VseGPT. Можете прочитать последовательно или сразу перескочить к интересующему вас разделу.

Все модели находятся на странице Модели в меню сайта – далее будут приводится только названия.


Общая информация


Коротко для тех, кто не знает: текстовые нейросети делятся на проприетарные и опенсорсные.

Проприетарные предоставляются соответствующими компаниями по API (т.е. веса для них недоступны, запустить их у себя нельзя). Самые известные из них это:

  • OpenAI: ChatGPT, GPT-4, GPT-4-Turbo
  • Claude: 1, 2, 3 Haiku, Sonnet, Opus
  • Google: Palm, Gemini Pro 
  • ну и некоторые другие, например Mistral, Perplexity.

Компании эти запускают эти модели на своих серверах (это быстро, это плюс), но под своими условиями доступа к API (это минус, условия бывают очень разные).

Также есть опенсорсные текстовые нейросети — веса для них выложены, любой желающий может их дотюнить (дотренировать) под свои задачи, и запускать совершенно независимо от оригинального автора (детали лицензий мы сейчас опускаем)

Это конечно, несомненный плюс, но несомненным минусом является то, что предоставлять инстанс (т.е. сервер, обрабатывающий модель) никто не будет, и нужно запускать её самостоятельно — что часто очень дорого (т.к. надо арендовать машину с GPU) или медленно (если вы используете оптимизации и гоняете модель на CPU).

В опенсорсе также есть понятие базовых моделей и дотюненных моделей.

Базовая модель тренируется с нуля какой-то большой компанией (потому что затраты на тренировку с нуля велики), а затем выкладывается в опенсорс. Дальше, уже небольшими усилиями энтузиасты дотренировывают базовую модель на своих данных под конкретные задачи.

Наиболее известные и часто используемые базовые модели сейчас это:

  • Llama2 7B, 13B, 70B от компании Meta* (признана экстремистской и запрещена в России)
  • Mistral 7B, Mixtral 8x7B, Mixtral 8x22B от французского стартапа Mistral
  • Yi-34B (от китайской компании 01.ai с фокусом на английском и китайских языках)

Цифры в конце означают число параметров в модели — чем больше, тем модель в целом умнее в плане следования логике, но тем дороже обходится её дотренировка и запуск. Дотюненные модели обычно сохраняют имена или размеры базовых моделей в своем названии, так что обычно всегда можно понять, на какой базе дотренировывалась модель.

Давайте теперь быстро по общим принципам подбора.

Общие принципы подбора моделей под свои задачи


Больше — лучше, но дороже и медленнее

Как правило, у компаний есть более слабые и более сильные модели (тот же ChatGPT против GPT-4) — и это связано с числом параметром в них.

Если вам нужно максимальное качество, нужно выбирать самую дорогую модель (или модель с большим числом параметров в опенсорсе, и там она обычно тоже будет дорогой — т.к. чем больше модель, тем дороже аренда сервера для её запуска)

Если вы решаете массово какие-то простые задачи в духе “определи тональность этого текста”, имеет смысл выбрать более дешевые и простые модели.

Выбирайте свежее

Как правило, чем позже была выпущена модель, тем на большем числе данных и с большими известными оптимизациями она тренировалась (например, более поздняя Mistral 7B находится на уровне более крупной Lllama 13B). Также обычно более поздние модели предоставляются дешевле, т.к. для них уже придуманы какие-то оптимизации.

Исключение — OpenAI со своими моделями; более поздние они “затачивают” под какие-то одни задачи (вроде как под то, что нужно пользователям), но иногда происходит ухудшение на каких-то других задачах. Например, более поздняя GPT-4-Turbo на некоторых задачах рассуждения уступает оригинальной GPT-4; но в часто встречающихся задачах кодинга она показывает лучшие результаты.

Конкретные задачи


В качестве примеров я обычно буду приводить модели, доступные на VseGPT — просто потому, что я с ними сам работал.

Для начала, если не знаете, что выбрать...


Я бы предложил поработать с:

  • Старым добрым ChatGPT
  • Google Gemini Pro 1.0 (модель у Гугла получилась неплохая и недорогая)
  • Claude 3.5 Sonnet (последний Claude 3 выдает очень приличные эмоциональные ответы, а Sonnet 3.5 вообще по метрикам лучше большинства сетей, в том числе топовых)

Если нужно максимально дешево…


…используйте:

  • Google Gemini Pro 1.0
  • Claude 3 Haiku
  • OpenChat 7B (можно дать этой опенсорсной сети шанс)
  • Google Gemini Flash
  • DeepSeek-V2-Chat 236B MoE

При работе с этими сетями генерации получаются в 1.5–2 раза дешевле, чем с самым последним ChatGPT (01–25).

Если нужно решать задачи программирования…


…я использую GPT-4-Turbo (а сейчас – GPT-4o). Возможно, Opus или опенсорсная сеть типа Codellama 70B Instruct также решила бы мои задачи, но это надо сидеть и экспериментировать — а времени очень не хватает.

Полгода назад я использовал для программирования простой ChatGPT и очень об этом жалею — мне приходилось править мелкие недостатки в коде руками, но тогда я считал это нормальным. GPT-4-Turbo при хорошей постановке задачи сразу пишет весьма хороший объемный код.

Если же нужно максимально дешево – имеет смысл посмотреть в сторону DeepSeek-Coder-V2 236B MoE – специализированная сеть под программирование, большая, но очень дешевая – правда, провайдер может логировать ваши запросы.

Если нужно обработать большие файлы…


…то надо смотреть, какой размер контекста у модели (есть на странице моделей). Чем больше контекст, тем больше данных влезет в модель для обработки.

Но тут эволюция идет очень быстро, имеет смысл следить за изменениями.

Где-то в июне 2023, базовая ChatGPT имела контекст в 4096 токенов, 16к-версия была прилично дороже, а базовая GPT-4 имела контекст в 8000 токенов. Опенсорсные модели же запускались на 2К контекста, и пользователи жаловались, что диалог туда почти не влезает.

Сейчас же базовая ChatGPT имеет контекст на 16К токенов, опенсорс варьируется от 4К до 32К, а GPT-4-Turbo использует контекст в 128К (хотя это дорого).

Так что — если вы обрабатываете небольшие статьи, то вы обычно можете выбирать модель по своему вкусу.

Если же все-таки нужен большой контекст, то рекомендую смотреть в сторону вышедшей в начале марта Claude 3.

Anthropic, компания, выпускающая Claude, пытается конкурировать с OpenAI на поле “у кого больше контекст”.

Сейчас самый большой доступный контекст у серии Claude 3 — 200К токенов, при этом можно выбрать из нескольких моделей:

  • Haiku позволит обработать этот контекст очень дешево (несравнимо с GPT-4), но достаточно тупо.
  • Sonnet — средняя по качеству
  • Opus — самая качественная

В общем, рекомендую.

Также, из альтернатив есть:

  • GPT-4-Turbo на 128К контекста (но выйдет дорого)
  • Google Gemini Pro 1.5 на 1M контекста — де факто, конечно, самый большой контекст у неё. Но она дороговата.

Совет: если будете отправлять большой текст в Claude в качестве контекста — обрамляйте его в XML-теги, как рекомендует официальная инструкция. Без этого конкретно модели Claude, по опыту, работают несколько хуже.

Да, на нашем сайте есть специальный сервис для анализа файлов

Если нужен переводчик…


…то можно ознакомиться с бенчмарком по переводам, который лично я веду в рамках своего опенсорс проекта, и в котором тестирую всё свежевыходящее.

Коротко — чем умнее сеть, тем лучше перевод.

Но особенно могу рекомендовать Claude 3 Opus. Сложно сказать, что у Claude с логическим мышлением, но именно с художественностью текста они работают на прекрасном уровне.

По бенчмарку Claude 3 Opus сопоставим с хитрым агрегатором, который выбирал лучшие из переводов Яндекс.Переводчика, DeepL и Claude 2 (добавление в эту тройку Google Translate даже понижало метрики).

Если же вам нужен самый дешевый переводчик — рекомендую взять Google Gemini Pro или Claude 3 Haiku; или даже бесплатный совершенно обычный Google Translate — по моим метрикам он вполне на уровне.

Если нужен сторителлинг (написание художественного текста) или ролеплей (взаимодействие с выдуманным персонажем)…


…то есть два пути.

Официальные модели от больших компании используют фильтры, чтобы не отвечать на некоторые вопросы по “чувствительным” темам.

Например, сейчас запрос про попа в ChatGPT проходит нормально, а раньше вызывал срабатывание фильтра.



Если вы уверены, что вы не затронете чувствительные темы в своем диалоге — моя рекомендация — Claude 3 Sonnet или более дорогая Opus.

Я до этого пробовал ролеплеить с ChatGPT и было несколько… механистично. Ролевики посоветовали Claude и, должен сказать, художественный текст у неё получается сильно лучше.

Кроме того, контекст в 200К для больших текстов — это прям конечно очень хорошо. Я в своей практике добирался до 20К в диалоге, и было очень приятно, когда модель помнила что-то из самого начала.

Если же на ваш запрос вы получаете постоянно что-то в духе “Я большая языковая модель, и мне некомфортно говорить на эту тему, давайте о чем-нибудь другом” — имеет смысл обратиться к опенсорсным моделям.

Но тут есть нюанс — как правило, эти модели тренировались на английском языке. И, опять же, возможны несколько вариантов:

  • Взаимодействовать на английском. Качество хорошее, но лично мне несколько некомфортно в качестве развлечения писать и читать на иностранном.
  • Взаимодействовать на русском. Большие модели (70B) это даже потянут, но качество будет просто на порядок хуже, чем на английском.
  • Встроить в середину переводчик — переводить весь вход на английский язык, а генерации модели — на русский. На мой взгляд, этот вариант работает лучше всего.

Например, в довольно известной программе для ролеплея Silly Tavern вариант с переводчиком можно включить с помощью плагинов — потому что много пользователей по всему миру просило. У нас на сайте для большинства open source-моделей есть их translate-версии — когда сервис при вызове генерации переводит весь вход на английский, а выход — на русский.

Что из моделей можно посоветовать? (Буду писать только то, что на сервисе, и что я немного пробовал)

  • Toppy M 7B, Mythomist 7B — 7B модели, к сожалению, глуповаты по поводу фактов, но у них большой контекст — 32000 токенов. Квазихудожественный текст генерируют неплохо.
  • Mythalion 13B, Psyfighter 13B — 13B модели, которые тренировались в том числе на фанфиках. Неплохо выдают художественный текст, но хуже следуют инструкциям.
  • Dolphin 2.6 Mixtral 8x7B, Noromaid Mixtral 8x7B Instruct, Nous: Hermes 2 Mixtral 8x7B DPO — 8x7B модели, хорошо следуют инструкциям, но креативность у них, на мой взгляд, не очень.
  • lzlv 70B, Midnight Rose 70B — довольно хорошие 70B модели с балансом между следованию промту и художественности текста. lzlv более склонна к коротким ответам, и тренировалась довольно давно. Midnight Rose склонна к более длинным художественным описаниям, и довольно свежая.
  • WizardLM-2 8x22B – реально топовая модель, появившаяся только 16 апреля. Очень рекомендую.
    • Не рекомендую здесь устанавливать штрафы за повторения – конкретно эта модель этого не любит
    • Эта модель очень чувствительна к системному промту, имейте это ввиду
  • Из еще более свежих сетей – Lumimaid 8B, Lumimaid 70B или Euryale-v2.1–70B – последняя имеет особо хорошие зарубежные отзывы, сравнимые с WizardLM-2 8x22B. Но они несколько другие в ответах, так что попробуйте, что подойдет вам.

Совет: опенсорс модели более капризные в настройке, чем проприетарные. Я рекомендую при взаимодействии с ними сразу устанавливать температуру меньше 1 — от 0.7 до 0.95, а также задавать штраф за повторы — очень любят повторяться.

Если нужно получать в ответе актуальную информацию, в том числе из Интернета…


…используйте модели Perplexity.

Нет, понятно, что если вы работаете руками, можно воспользоваться онлайновым Google Bard или Bing — они тоже по запросу попытаются найти информацию в интернете. Но если нужно сделать в вашем приложении запрос по API и получить ответ на основе актуальной информации — такую фичу предоставляет только Perplexity. (Я слышал, что Сбер хочет выпустить GigaSearch с подобной функцией, но пока он не доступен)

Совет: из всех предложенных Perplexity моделей используйте pplx-70b-online — она лучше всего отвечает на русском языке. Еще у Perplexity есть 7b-модель, а также модели sonar — по моему опыту русские ответы там значительно хуже.

Примеры:



Также можно попросить проанализировать ссылку:



Интересный факт:
На сайте Peprlexity в своем собственном интерфейсе выдает ответы на вопросы со ссылками на источники — так, что можно проверить, откуда сеть взяла свои факты. Пользователи очень просят добавить возможность получать список источников при вызове по API — но пока, несмотря на все просьбы, этой функциональности нет.

Если нужно решать задачи SEO и копирайтинга…


…я бы рекомендовал попробовать модели с неплохим русским языком, отличные от ChatGPT — например, Google Gemini Pro или Claude 3 Sonnet.

Попробуйте несколько и посмотрите, что вам лучше подойдет.



Автор: Владислав Январев, 19 апреля 2024, обновлен 21 июня 2024

Материал подготовлен при поддержке хостинг-провайдера Timeweb Cloud