Code Llama (tsz. Code Llamas)
A Code Llama célja, hogy fejlesztőknek segítsen kódgenerálásban, hibakeresésben, dokumentációban és algoritmikus feladatokban – nyílt és szabadon felhasználható alternatívaként olyan zárt modellek mellett, mint a GitHub Copilot vagy az AlphaCode.
A Meta 2023 augusztusában adta ki a Code Llama-t, amely három fő változatban érhető el:
Változat | Leírás |
---|---|
Code Llama | Alapmodell, általános célú kódgenerálásra |
Code Llama – Python | Python nyelvre finomhangolt, még jobb teljesítmény Python-feladatokon |
Code Llama – Instruct | Kérdés-válasz és utasítás-alapú feladatokra optimalizált változat |
Mindegyik változat elérhető több méretben: 7B, 13B, és 34B paraméteres hálózatok (a B a milliárd paramétert jelöli).
# Két szám összege
→ def add(a, b): return a + b
A Code Llama egy transformer-alapú, autoregresszív nyelvi modell, amely szövegként tekint a programkódra.
"Írj egy Python-függvényt, ami megfordítja a karakterláncot!"
Prompt:
# Egy függvény, amely visszaadja a listában lévő páros számok összegét
Kimenet:
def sum_even_numbers(lst):
return sum(x for x in lst if x % 2 == 0)
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("codellama/CodeLlama-7b-Python-hf")
model = AutoModelForCausalLM.from_pretrained("codellama/CodeLlama-7b-Python-hf")
generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
output = generator("# Függvény, ami eldönti, hogy szám prímszám-e", max_length=100)
print(output)
Teszt / benchmark | Eredmény |
---|---|
HumanEval (Python) | ~53–60% pass@1 (modellmérettől függően) |
MBPP (kódgenerálás) | Jó általánosítási képességek |
BigCode vs Code Llama | Code Llama jobb Python-teljesítményt mutat |
A Code Llama teljesítménye közelíti vagy felülmúlja a Codex, PaLM-Coder, StarCoder, Incoder modellek egyes képességeit, főként Python nyelven.
Terület | Példák |
---|---|
Fejlesztői asszisztens | Kódbeillesztés, magyarázat, dokumentáció |
Oktatás | Algoritmus tanulás, feladatmegoldás, magyarázat generálás |
Automatizálás | Scriptgenerálás, konfigurációk előállítása |
Kódkarbantartás | Refaktorálás, kompatibilitás, újrafogalmazás |
Tudományos kutatás | Reprezentatív megoldások, benchmark-összehasonlítások |
A Code Llama a nyílt AI-fejlesztés jövőjét képviseli:
Tulajdonság | Részletek |
---|---|
Fejlesztő | Meta AI (Facebook) |
Cél | Kódgenerálás, fejlesztői támogatás |
Modellméretek | 7B, 13B, 34B |
Specializáció | Python, Instruct verzió is elérhető |
Licenc | Nyílt, kutatási és kereskedelmi célra használható (feltételekkel) |
Alternatívák | DeepSeek-Coder, StarCoder, CodeGen, Codex, AlphaCode |