Многоликий "performance": разбор ИТ-термина
Про этот термин я уже писал, сейчас решил чуть расширить прошлую свою заметку примерами и новыми версиями переводов.
1. Итак, в ИТ-переводах есть одно капризное слово - performance. Для чистоты эксперимента возьмем самый понятный пример:
Pagination allows servers to return a subset of a response to the requesting client along with a token that represents the current position in the overall response data. This utility can help improve performance when dealing with large datasets both locally and remotely.
Суть отрывка для ИТ-переводчика прозрачна: пагинация экономит оперативную память и снижает нагрузку на сеть (сокращается latency/задержка). Кастомный транспорт оптимизирует утилизацию процессора или скорость передачи пакетов. В обоих случаях мы оцениваем систему метриками «быстрее/меньше ресурсов», поэтому пишем «производительность» или «быстродействие» — классический перевод этого термина.
2. Но так бывает далеко не всегда. Возьмем парочку других примеров:
...you need to balance token efficiency with clarity and context that enables optimal tool-choice performance...
Like people, LLMs work best when they have a few examples to work from. This is called few-shot learning, a powerful technique for improving the accuracy and performance of LLMs.
Здесь надо иметь либо очень богатое воображение, либо чугуннобетонный пофигизм на смысл перевода, чтобы перевести этот performance как производительность.
Смысл здесь в том, что если у модели падает tool-choice performance, это НЕ значит, что она начинает медленнее генерировать токены. Это значит, что она начинает тупить и ошибаться — выбирать не тот инструмент или путать аргументы. Следовательно, речь идет о «точности и качестве работы LLM» или об «эффективность выполнения задач».
3. А вот извольте взглянуть на этот примерчик:
You will have to consider what you really want out of your prompt and evaluate its performance with different example sets across many runs.
Очевидно, что промпт не имеет «производительности» (он не работает быстрее или медленнее). Промпт сам по себе тоже не работает, это лишь инструкция для LLM. Таким образом, мы тут говорим о том, насколько стабильно (across many runs) данный промпт приводит к нужному результату. Здесь performance — это «эффективность» или «результативность» или «стабильность» промпта.
4. И приведу еще один примерчик, который вроде как и пересекается по смыслу с примерами выше, но все же немного стоит особняком:
You can also use tricks to improve your prompts that are model specific, but they may not necessarily reduce performance when used on other models.
На первый взгляд кажется, что это косплей 3-го примера — и там, и там мы оцениваем как работает промпт. Но есть нюанс.
В 3-м примере мы тестируем один конкретный промпт и замеряем его «стабильность» во времени. В 4-м примере мы берем стабильный для одной модели промпт и запускаем его на другой модели.
Но другая модель обладает иной архитектурой. Хак, который заставлял, скажем, Claude выдавать шедевры, в чужой модели может вызвать ступор, галлюцинации или игнорирование системных инструкций. И фраза "reduce performance" означает не то, что промпт станет менее "эффективным" в плане выполнения задачи или менее "стабильным", а то, что чужая модель начнет ломаться и выдавать некорректные/неадекватные ответы.
То есть речь идет о деградации базового поведения модели. Соответственно, здесь performance будет уместно переводить как "качество работы", "адекватность ответов" или "корректность поведения".