Nov 7, 2024
Zwiększanie możliwości asystentów AI do kodowania dzięki długiemu kontekstowi modeli Gemini

Jednym z najbardziej obiecujących zastosowań długich okien kontekstu jest generowanie i interpretowanie kodu. Duże bazy kodu wymagają dogłębnego zrozumienia złożonych relacji i zależności, co jest trudne dla tradycyjnych modeli AI. Zwiększając ilość kodu w dużych oknach kontekstu, możemy osiągnąć nowy poziom dokładności i użyteczności w generowaniu i rozumieniu kodu.
Współpracowaliśmy z firmą Sourcegraph, twórcą asystenta kodowania Cody AI, który obsługuje duże modele językowe, takie jak Gemini 1.5 Pro i Flash, aby zbadać potencjał długich okien kontekstowych w rzeczywistych scenariuszach kodowania. Firma Sourcegraph skupia się na integracji wyszukiwania i analizy kodu z generowaniem kodu przez AI. Z powodzeniem wdrożyła Cody’ego w przedsiębiorstwach z dużymi i złożonymi bazami kodu, takich jak Palo Alto Networks i Leidos. To sprawiło, że była idealnym partnerem do przeprowadzenia tych badań.
Podejście i wyniki Sourcegraph
Firma Sourcegraph porównała wydajność Cody z oknem kontekstu o milionie tokenów (z użyciem modelu Gemini 1.5 Flash od Google) z wersją produkcyjną. To bezpośrednie porównanie pozwoliło im wyodrębnić korzyści wynikające z rozszerzonego kontekstu. Skupili się na odpowiadaniu na pytania techniczne, co jest kluczowym zadaniem dla programistów pracujących z dużymi bazami kodu. Użyli zbioru danych zawierającego trudne pytania, które wymagały dogłębnego zrozumienia kodu.
Wyniki były zaskakujące. Trzy kluczowe wskaźniki Sourcegraph – Essential Recall, Essential Concision i Helpfulness – wykazały znaczną poprawę w przypadku użycia dłuższego kontekstu.
Essential Recall: odsetek najważniejszych faktów w odpowiedzi znacznie wzrósł.
Istotna zwięzłość: poprawił się też odsetek istotnych faktów znormalizowany przez długość odpowiedzi, co wskazuje na bardziej zwięzłe i trafne odpowiedzi.
Pomocność: ogólny wynik pomocności, znormalizowany pod względem długości odpowiedzi, znacznie wzrósł, co wskazuje na większą przyjazność dla użytkownika.

Dodatkowo użycie modeli z długim kontekstem znacznie zmniejszyło ogólny odsetek halucynacji (generowania nieprawdziwych informacji). Odsetek halucynacji spadł z 18,97% do 10,48%, co oznacza znaczną poprawę dokładności i wiarygodności.

Kompromisy i kierunek rozwoju
Długi kontekst ma wiele zalet, ale wiąże się też z pewnymi kompromisami. Czas do pierwszego tokena rośnie liniowo wraz z długością kontekstu. Aby temu zapobiec, Sourcegraph wdrożył mechanizm wstępnego pobierania i architekturę warstwowego modelu kontekstu do buforowania stanu wykonywania modelu. W przypadku modeli Gemini 1.5 Flash i Pro z długim kontekstem zoptymalizowaliśmy czas do pierwszego tokena z 30–40 sekund do około 5 sekund w przypadku kontekstów o rozmiarze 1 MB. To znaczne ulepszenie w zakresie generowania kodu w czasie rzeczywistym i pomocy technicznej.
Ta współpraca pokazuje potencjał modeli z długim kontekstem w rewolucjonizowaniu zrozumienia i generowania kodu. Cieszymy się, że możemy współpracować z firmami takimi jak Sourcegraph, aby nadal udostępniać jeszcze bardziej innowacyjne aplikacje i paradygmaty z dużymi oknami kontekstowymi.
Aby dowiedzieć się więcej o szczegółowych metodach oceny, testach porównawczych i analizach Sourcegraph, w tym o przykładach, przeczytaj szczegółowy post na blogu.