Is Fine-Tuning Still Valuable?
Hamel Husain делится мнением о ценности fine-tuning на фоне растущего скептицизма в сообществе. Он считает, что многие критики работают над продуктами, где fine-tuning заведомо не нужен: инструменты для разработчиков, foundation-модели или универсальные ассистенты. Ключевое препятствие — отсутствие domain-specific eval-системы, без которой невозможно ни эффективно дообучать модель, ни улучшать продукт в долгосрочной перспективе. Автор советует сначала выжимать максимум из prompt engineering — в первую очередь как способ стресс-тестирования eval-системы. Fine-tuning лучше всего подходит для изучения синтаксиса, стиля и правил, тогда как RAG — для подачи контекста и актуальных фактов. В качестве успешных примеров он приводит Honeycomb Natural Language Query Assistant и Lucy от ReChat, а также напоминает, что fine-tuning делают и поверх GPT-3.5 — например, Perplexity.AI и CaseText.
Here is my personal opinion about the questions I posed in this tweet:
Вот моё личное мнение по вопросам, которые я задал в этом твите:
There are a growing number of voices expressing disillusionment with fine-tuning.
I'm curious about the sentiment more generally. (I am withholding sharing my opinion rn).
Tweets below are from @mlpowered @abacaj @emollick pic.twitter.com/cU0hCdubBU
Всё больше голосов выражают разочарование в fine-tuning. Мне интересно, какие настроения в целом. (Своё мнение пока придерживаю.) Твиты ниже от @mlpowered @abacaj @emollick pic.twitter.com/cU0hCdubBU — Hamel Husain (@HamelHusain) March 26, 2024
I think that fine-tuning is still very valuable in many situations. I’ve done some more digging and I find that people who say that fine-tuning isn’t useful are indeed often working on products where fine-tuning isn’t likely to be useful:
Я считаю, что во многих ситуациях fine-tuning по-прежнему очень ценен. Я покопался глубже и обнаружил, что люди, утверждающие, будто fine-tuning бесполезен, действительно часто работают над продуктами, где он вряд ли будет полезен:
Они делают инструменты для разработчиков — foundation-модели уже плотно обучены на задачах программирования. Они строят foundation-модели и тестируют их на самых общих случаях. Но и сами foundation-модели обучаются под максимально общие случаи. Они делают персонального ассистента, не привязанного ни к какому домену или сценарию использования, и по сути это те же люди, что строят foundation-модели.
Another common pattern is that people often say this in earlier stages of their product development. One sign that folks are in really early stages is that they don’t have a domain-specific eval harness.
Ещё один частый паттерн: такие слова обычно произносят на ранних стадиях разработки продукта. Один из признаков того, что команда действительно на самой ранней стадии, — у них нет специфичной для домена eval-инфраструктуры.
It’s impossible to fine-tune effectively without an eval system which can lead to writing off fine-tuning if you haven’t completed this prerequisite. It’s also impossible to improve your product without a good eval system in the long term, fine-tuning or not.
Невозможно эффективно проводить fine-tuning без eval-системы, и из-за этого fine-tuning могут списать со счетов, если этот предварительный этап не пройден. Также невозможно улучшать продукт в долгосрочной перспективе без хорошей eval-системы — независимо от того, делаете вы fine-tuning или нет.
You should do as much prompt engineering as possible before you fine-tune. But not for reasons you would think! The reason for doing lots of prompt engineering is that it’s a great way to stress test your eval system!
Перед fine-tuning стоит выжать максимум из prompt engineering. Но не по тем причинам, о которых вы могли подумать! Главная причина в том, что это отличный способ стресс-тестирования вашей eval-системы!
If you find that prompt-engineering works fine (and you are systematically evaluating your product) then it’s fine to stop there. I’m a big believer in using the simplest approach to solving a problem. I just don’t think you should write off fine-tuning yet.
Если prompt-engineering справляется (а вы систематически оцениваете свой продукт), то на этом можно остановиться. Я большой сторонник самого простого подхода к решению задачи. Просто я не считаю, что fine-tuning стоит списывать со счетов.
Examples where I’ve seen fine-tuning work well
Примеры, где я видел, как fine-tuning хорошо работает
Generally speaking, fine-tuning works best to learn syntax, style and rules whereas techniques like RAG work best to supply the model with context or up-to-date facts.
В общем случае fine-tuning лучше всего подходит для изучения синтаксиса, стиля и правил, тогда как такие техники, как RAG, лучше подходят для того, чтобы снабжать модель контекстом или актуальными фактами.
These are some examples from companies I’ve worked with. Hopefully, we will be able to share more details soon.
Это несколько примеров из компаний, с которыми я работал. Надеюсь, скоро мы сможем поделиться большим количеством деталей.
Honeycomb’s Natural Language Query Assistant - previously, the “programming manual” for the Honeycomb query language was being dumped into the prompt along with many examples. While this was OK, fine-tuning worked much better to allow the model to learn the syntax and rules of this niche domain-specific language.
ReChat’s Lucy - this is an AI real estate assistant integrated into an existing Real Estate CRM system. ReChat needs LLM responses to be provided in a very idiosyncratic format that weaves together structured and unstructured data to allow the front end to render widgets, cards and other interactive elements dynamically into the chat interface. Fine-tuning was the key to making this work correctly. This talk has more details.
Natural Language Query Assistant от Honeycomb — раньше «руководство по программированию» для языка запросов Honeycomb засовывали в промпт вместе с множеством примеров. Это работало нормально, но fine-tuning сработал гораздо лучше: модель смогла выучить синтаксис и правила этого нишевого предметно-ориентированного языка. Lucy от ReChat — это AI-ассистент для недвижимости, встроенный в существующую CRM-систему для риэлторов. ReChat нужно, чтобы ответы LLM выдавались в очень специфическом формате, который сплетает структурированные и неструктурированные данные так, чтобы фронтенд мог динамически отрисовывать виджеты, карточки и другие интерактивные элементы прямо в чате. Fine-tuning стал ключом к тому, чтобы это заработало корректно. В этом докладе больше деталей.
P.S. Fine-tuning is not only limited to open or “small” models. There are lots of folks who have been fine-tuning GPT-3.5, such as Perplexity.AI: and CaseText, to name a few.
P.S. Fine-tuning не ограничивается только open-source или «маленькими» моделями. Многие дообучают и GPT-3.5 — например, Perplexity.AI и CaseText, если назвать лишь несколько.