Моделът, който го нямаше

Google оглавяваше всеки benchmark. YouTube видеа, конференции, семинари. Най-добрият модел за генериране на изображения в света. После се опитах да го използвам.

Генерирахме рекламни изображения с Gemini 3 Pro. На #4 в класацията на Artificial Analysis. Качеството беше наистина впечатляващо - по-добро следване на prompt-а, по-добра типография, по-добър творчески резултат от всичко друго, което бяхме пробвали. Google беше навсякъде с него. YouTube видеа. Конференции. Семинари. Публикации в блогове. "Най-добрият модел за генериране на изображения в света."

Повярвах им. Изображенията бяха добри.


После един потребител съобщи, че клонирането на реклама отнема четири минути. Проверих. Самото генериране приключваше за под трийсет секунди. Другите три минути и половина? Job-ът се опитваше отново и отново срещу стена.

  1. Resource Exhausted.

Google беше сложил твърд таван на Gemini image generation: две заявки в минута. На проект. Глобално.

Две. Не двеста. Не двайсет. Две.

Предния ден бяхме генерирали 900 изображения без проблем. Нещо се беше променило при тях. Без известие, без имейл, без запис в changelog-а. Просто нов таван, достатъчно нисък, за да го ударят двама потребители, кликнали едновременно.


Нашият DevOps подаде заявка за quota increase. Трийсет RPM. Разумно за production SaaS. Отговорът от Google:

"This gemini model is not available for quota increase."

Предложиха да минем на Imagen 4. Потърсих го.

Imagen 4 Ultra - класиран #10. Imagen 4 Standard - #42. Imagen 4 Fast - #60.

Бяхме на #4. Предложението на Google беше downgrade с между шест и петдесет и шест места в тяхната собствена класация.


Пробвах всичко, за което можах да се сетя.

Да минем на Gemini 3.1 Flash - класиран #2, на половин цена, по-добър от това, което имахме. Deploy-нахме го на staging. После проверих quota-та. Същият таван от 2 RPM. Не е per-model. Per-project е, per-base-model-family. Всеки Gemini image model споделя един и същ bucket.

Multi-region distribution - quota-та е per-region, така че разпределяне на заявките през пет региона би ни дало десет RPM. Само че Gemini 3.x image models работят единствено през global endpoint-а. Няма regional endpoints. 2 RPM на global endpoint-а е единственият bucket, който съществува.

Multiple GCP projects - всеки получава собствени 2 RPM. Технически работи. Архитектурно, така изглежда отчаянието.


Започнах да проучвам какво преживяват други разработчици. Същата история навсякъде. Недокументиран лимит от 2 RPM. Постове във форуми без отговор от Google. Одобрени quota increases, които пак връщат 429 на всяко повикване. Нашите $30K месечен GCP spend? Не помага. Стандартните PayGo tiers изрично изключват image generation models от throughput benefits.

Google няма да вдигне този лимит.


И тогава интересният въпрос: защо не?

Gemini генерира изображения през същия autoregressive transformer, който обработва текст. Не е diffusion model. Това е пълният LLM, който си проправя път през изображението пиксел по пиксел. Всяко изображение изгаря същия compute като десетки text API calls.

При $0.067 на изображение Google почти сигурно губи пари при всяка генерация. Таванът от 2 RPM не е quota, която са забравили да настроят. Това е изчислена спирачка, защото икономиката не работи.

Imagen 4 използва класическа latent diffusion - с порядъци по-евтина за изпълнение. Затова получава 30-150 RPM и Google бута всички към него. Скъпият модел получава маркетинга. Евтиният модел получава throughput-а.


Помисли какво означава това. Google построи модел, който оглави всеки benchmark. Маркетираха го на всяка конференция, всеки YouTube keynote, всеки developer blog. "State of the art. Най-добрият в света." Разработчици го интегрират в production. Потребители започват да разчитат на него. После: две заявки в минута, няма увеличение, използвайте нашия по-лош модел вместо него.

API-то съществува. Endpoint-ът работи. Демото е зашеметяващо.

Но реално не можеш да го използваш.


Минахме на gemini-2.5-flash-image. По-старият модел. Скучният. Онзи, за когото никой не прави YouTube видеа.

Има 40 RPM. Работи.


Четири урока, сгъстени:

  1. Маркетингът не е продукт. Да оглавиш класация не означава, че можеш да обслужваш production traffic. Benchmarks мерят качество. Rate limits мерят ангажимент.
  2. Autoregressive image generation не scale-ва. Когато генерирането на едно изображение струва колкото сто text queries, никой бизнес модел не оцелява с щедри rate limits. Икономиката е издайническият знак.
  3. Preview означава preview. Google може да промени лимити, да убие модели или да те пренасочи към по-слаби алтернативи без известие. Ако production system-ът ти зависи от preview model, production system-ът ти зависи от нечий чужд маркетингов календар.
  4. Скучният модел работи. Този с 40 RPM и без conference talks ще обслужва потребителите ти, докато моделът от световна класа стои зад кадифено въже и генерира две изображения в минута.

Най-страшният vendor lock-in е онзи, който започва с демо, на което не можеш да устоиш.


Коментари

Boris D. Teoharov

Автор

Здравей, аз съм Борис

Не съм писател. Не съм философ. Просто съм backend инженер от България, който живее между Laravel опашки и индекси със стотици милиони редове. През останалото време чета медицина, която няма работа да чета, френски романи, които разбирам наполовина, и каквото още малката ми гумена глава реши да дъвче. Две спасени кучета ме държат честен.