Przetłumaczono z angielskiego oryginału. Liczby i źródła pozostają bez zmian. Przeczytaj angielski oryginał

Zgłoszone przez firmęDziała od 2025Dodano paź 2026

JetBrains

Własny model Mellum firmy JetBrains podnosi udział kodu pisanego z uzupełnianiem z 0,25 do 0,39 w Pythonie

JetBrains wytrenował własny model o 4 miliardach parametrów, Mellum, który napędza chmurowe uzupełnianie kodu w jego narzędziach dla programistów. Autorzy z JetBrains informują, że na produkcji udział kodu pisanego z uzupełnianiem wzrósł w każdym mierzonym języku, na przykład z 0,25 do 0,39 w Pythonie, w porównaniu z mniejszym modelem lokalnym.

Kluczowe liczby

Przepisane dokładnie ze źródeł. Skopiuj każdą liczbę wraz z przypisem.

0,39

(chmura) wobec 0,25 (lokalnie)

Ratio of Completed Code (udział kodu pisanego z uzupełnianiem) na produkcji, Python: uzupełnianie w chmurze wobec mniejszego modelu lokalnego JetBrains1

0,49

(chmura) wobec 0,42 (lokalnie)

Ratio of Completed Code na produkcji, Java: uzupełnianie w chmurze wobec modelu lokalnego1

0,45

(chmura) wobec 0,31 (lokalnie)

Ratio of Completed Code na produkcji, PHP: uzupełnianie w chmurze wobec modelu lokalnego1

0,42

(chmura) wobec 0,28 (lokalnie)

Ratio of Completed Code na produkcji, JS/TS: uzupełnianie w chmurze wobec modelu lokalnego1

Ile to kosztowało

KosztNie ujawniono
ZespółNie ujawniono
HarmonogramNie ujawniono

Koszt, wielkość zespołu i harmonogram nie zostały ujawnione w źródłach.

Problem

Programiści oczekują, że ich narzędzia dokończą linie i bloki kodu w trakcie pisania. Większość takich narzędzi opiera się na zamkniętych usługach innych dostawców lub na dużych modelach czatu, które według JetBrains są drogie i wolne przy pracy w tempie pisania, a ich licencje utrudniają redystrybucję. JetBrains dostarczał też już mały model uzupełniania, który działa na komputerze każdego użytkownika, i chciał wyższej jakości bez opóźnienia dużego modelu.

Co zbudowano

JetBrains wytrenował Mellum, model o 4 miliardach parametrów zbudowany wyłącznie do uzupełniania kodu, i używa go do uzupełniania w chmurze w swoich narzędziach dla programistów. Wytrenowano go od zera na kodzie z liberalnymi licencjami. Udostępniona wersja jest typu open-weight (o otwartych wagach: pliki są opublikowane, więc każdy może ją uruchomić i dostosować) na licencji Apache-2.0. Według artykułu modele działające na produkcji są podobne do udostępnionych, ale nie identyczne.

Jak to zrobiono

Trening miał kilka etapów: szerokie wstępne trenowanie na kodzie, potem trenowanie uzupełniania środka pliku, potem trenowanie z kontekstem projektu pobranym z innych plików, a na końcu etap preferencji, który zniechęca do bezużytecznych wyników, takich jak puste instrukcje i niekończąca się generacja. Zespół utrzymał model mały, aby odpowiadał szybko i mieścił się na tanich procesorach graficznych. Jakość sprawdzano offline na testach wzorcowych oraz online na podstawie telemetrii użytkowników w narzędziach.

Wyniki

W telemetrii z produkcji udział kodu pisanego z uzupełnianiem był wyższy dla modelu chmurowego niż dla lokalnego we wszystkich dziewięciu językach, na przykład 0,39 wobec 0,25 w Pythonie i 0,49 wobec 0,42 w Javie. Udział przyjętych podpowiedzi był wyższy w większości języków, np. w Pythonie 0,34 wobec 0,26, ale taki sam dla Javy i Rusta oraz niższy dla Go i PHP. Pojedyncze żądanie zajmuje po stronie backendu 400 ms, w szczycie 700 ms.

Co warto powtórzyć

Jeśli Wasz przypadek jest wąski, a liczy się opóźnienie, warto przetestować mały model zbudowany do tego celu, zanim sięgnie się po duży ogólny. Warto mierzyć go na żywym użyciu i trzymać zarówno miarę użycia, jak i miarę jakości, bo mogą się rozchodzić.

Wszystkie zgłoszone liczby

MiaraLiczbaPrzypis
Ratio of Completed Code (udział kodu pisanego z uzupełnianiem) na produkcji, Python: uzupełnianie w chmurze wobec mniejszego modelu lokalnego JetBrains0,39 (chmura) wobec 0,25 (lokalnie)1
Ratio of Completed Code na produkcji, Java: uzupełnianie w chmurze wobec modelu lokalnego0,49 (chmura) wobec 0,42 (lokalnie)1
Ratio of Completed Code na produkcji, PHP: uzupełnianie w chmurze wobec modelu lokalnego0,45 (chmura) wobec 0,31 (lokalnie)1
Ratio of Completed Code na produkcji, JS/TS: uzupełnianie w chmurze wobec modelu lokalnego0,42 (chmura) wobec 0,28 (lokalnie)1
Wskaźnik akceptacji (udział wyświetlonych podpowiedzi, które użytkownicy przyjęli) na produkcji, Python: model chmurowy wobec lokalnego0,34 (chmura) wobec 0,26 (lokalnie)1
Wskaźnik akceptacji na produkcji, Java: model chmurowy wobec lokalnego0,34 (chmura) wobec 0,34 (lokalnie)1
Czas poświęcony na pojedyncze żądanie uzupełnienia po stronie backendu, typowy i w godzinach szczytu dnia roboczego400 ms (typowo), 700 ms (szczyt)1

Wnioski dla Twojego projektu

  1. Mały model zbudowany do jednego zadania może wystarczyć. JetBrains wybrał model o 4 miliardach parametrów, aby odpowiadał szybko i mieścił się na tanich procesorach graficznych, i zaznacza, że większa architektura mogłaby uzyskać wyższe wyniki offline, ale byłaby wolniejsza.

  2. Warto oceniać jakość na podstawie realnego użycia, a nie tylko zbiorów testowych. JetBrains śledzi, ile kodu użytkownicy faktycznie piszą z uzupełnianiem i ile podpowiedzi przyjmują.

  3. Warto sprawdzać, co ukrywa dana miara. Wskaźnik akceptacji pozostał bez zmian dla Javy i był niższy dla Go i PHP w modelu chmurowym, mimo że udział uzupełnionego kodu wzrósł, więc czytajcie oba.

  4. Warto uwzględnić licencje i zarządzanie przy wyborze modelu. JetBrains mówi, że restrykcyjne licencje i niejasne dane treningowe dostępnych modeli skłoniły go do wytrenowania własnego na kodzie z liberalnymi licencjami.

Zastrzeżenia

  • Wszystkie liczby pochodzą z preprintu pracowników JetBrains o własnym produkcie JetBrains. Żadna strona zewnętrzna ich nie zweryfikowała.
  • Modele produkcyjne są podobne do opublikowanych modeli Mellum, ale nie identyczne. Artykuł podaje, że modele produkcyjne trenowano na około 3 bilionach tokenów, wobec 4 bilionów dla udostępnionych jako open source, a wyniki offline są prawie takie same. Tu wykorzystano wyłącznie telemetrię z produkcji.
  • Porównanie dotyczy modelu chmurowego i innego, lokalnego modelu uzupełniania, około 40 razy mniejszego. To nie jest porównanie z brakiem AI, a artykuł nie opisuje grup użytkowników ani okresu, więc różnice mogą nie wynikać wyłącznie z modelu.
  • Ratio of Completed Code liczy znaki pisane z uzupełnianiem, w tym z wbudowanym uzupełnianiem IDE, jako udział całego pisanego kodu. Mierzy, ile kodu daje uzupełnianie, a nie oszczędność czasu programistów ani jakość kodu.
  • Wskaźnik akceptacji w modelu chmurowym jest niższy niż w lokalnym dla Go (0,38 wobec 0,42) i PHP (0,31 wobec 0,32), a taki sam dla Javy i Rusta. Artykuł mówi, że uzupełnianie w chmurze zwykle go podnosi.
  • Żadne ze źródeł nie podaje daty uruchomienia. Data wdrożenia jest podana jako 2025 tylko dlatego, że artykuł, opublikowany w październiku 2025, informuje o modelu chmurowym już na produkcji; mógł ruszyć wcześniej. Wpis na blogu JetBrains mówi, że Mellum wytrenowano od zera, by napędzał uzupełnianie w chmurze, ale strona nie podaje daty.
  • Artykuł w jednym miejscu mówi o setkach tysięcy użytkowników usługi chmurowej, a w innym o milionach. Wolumeny nie są wynikiem.

Źródła

  1. Mellum: Production-Grade in-IDE Contextual Code Completion with Multi-File Project Understanding

    arXiv (JetBrains authors) · 2025-10-07 · Publikacja naukowa · arxiv.org

  2. Mellum Goes Open Source: A Purpose-Built LLM for Developers, Now on Hugging Face

    The JetBrains Blog · Bez daty · Blog firmowy · blog.jetbrains.com

Streszczone własnymi słowami na podstawie powyższych źródeł. Zauważyłeś błąd? Zobacz sprostowania.