Ajuster et servir CodeGen, un modèle de génération de code, avec PeriFlow
CodeGen, dévoilé en 2022 par Salesforce, est un modèle de langage qui permet aux utilisateurs de créer des programmes en langage naturel au lieu d'avoir à utiliser des connaissances approfondies en programmation. CodeGen est un outil passionnant car il permet aux humains et à l'IA de programmer ensemble, ce qui rend la programmation plus facile et plus rapide que jamais.
À titre d'exemple de ses capacités, CodeGen peut prendre une requête "Return n-th Fibonacci number" et générer rapidement le code JavaScript correspondant. Cela implique que les développeurs peuvent rapidement convertir des concepts complexes en lignes de code sans avoir à écrire manuellement le code eux-mêmes, ce qui permet d'économiser un temps et des ressources précieux. Jetons un coup d'oeil comme ci-dessous.
Entrée dans CodeGen :
/*Return n-th Fibonacci number .
>>> fib(10)
55
>>> fib(1)
1
>>> fib(8)
21
*/
const fib = (n) => {
if(n < 2) {
return n;
}
return fib(n - 1) + fib(n - 2);
};
Un autre exemple est la génération de tests. CodeGen génère rapidement des tests, ce qui est extrêmement utile dans le processus de test de la validité du programme. En faisant générer automatiquement des tests, les développeurs de logiciels peuvent améliorer la qualité de leur code mais avec beaucoup moins d'efforts. Voici un exemple de génération de code de test.
Entrée dans CodeGen :
//sumToN is a function that sums numbers from 1 to n.
const sumToN = (n) => {
return n * (n + 1) / 2;
}
//write a test code that assets the correctness of sumToN()
const testSumToN = () => {
assert.equal(sumToN(1), 1);
assert.equal(sumToN(2), 3);
assert.equal(sumToN(3), 6);
assert.equal(sumToN(4), 10);
assert.equal(sumToN(5), 15);
assert.equal(sumToN(6), 21);
assert.equal(sumToN(7), 28);
assert.equal(sumToN(8), 36);
assert.equal(sumToN(9), 45);
assert.equal(sumToN(10), 55);
}
Avec PeriFlow, on peut adapter (c'est-à-dire effectuer un réglage fin ou une formation efficace sur les paramètres) CodeGen et servir CodeGen sans effort et rapidement pour les applications, ce qui souligne encore l'engagement de FriendliAI à rendre le service et la formation génératifs de l'IA simples et rentables. Nos clients peuvent utiliser PeriFlow pour effectuer l'inférence de CodeGen beaucoup plus rapidement que toute autre solution disponible.
Nous avons comparé PeriFlow Serving (Orca) au NVIDIA Triton + FasterTransformer en servant CodeGen avec des paramètres 16B sur un GPU NVIDIA A100 de 80 Go. Dans les expériences, la plage de la longueur du jeton d'entrée est comprise entre 128 et 512, et la plage de la longueur du jeton de sortie est comprise entre 32 et 256. La figure ci-dessous montre le débit (req/s) et la latence moyenne (ms).
Nos résultats révèlent que PeriFlow Serving (Orca) surpasse Triton + FasterTransformer en atteignant un débit 30 fois plus élevé au même niveau de latence grâce à sa nouvelle architecture. Notez que le gain réel peut varier en fonction des charges de travail et du matériel. En plus de nos articles précédents sur l'accélération d'Orca pour les modèles GPT3 et T5 à grande et petite échelle, nous démontrons que PeriFlow est un choix idéal pour minimiser les coûts lorsqu'il s'agit de servir le CodeGen.
En résumé, CodeGen ouvre une opportunité passionnante pour les humains et l'IA de collaborer pour programmer ensemble. Avec PeriFlow, on peut rapidement adapter CodeGen et servir le modèle beaucoup plus efficacement. Nous sommes ravis de ce que nous pouvons fournir car il a le potentiel d'ouvrir les portes à de nombreux utilisateurs qui souhaitent tirer parti de PeriFlow pour combiner le meilleur de la créativité humaine avec des capacités de codage basées sur l'IA !
Pour plus d'informations sur FriendliAI, consultez le lien .
À propos de PeriFlow, consultez le lien .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































