Aujourd'hui, les entreprises explorent de plus en plus les moyens d'exploiter les grands modèles de langage (LLM) pour augmenter la productivité et créer des applications intelligentes. Cependant, la plupart des options LLM disponibles sont des modèles génériques non adaptés aux besoins spécialisés des entreprises, tels que l'analyse des données, le codage et l'automatisation des tâches. Entrer Flocon de neige Arctique – un LLM de pointe spécialement conçu et optimisé pour les cas d’utilisation de base en entreprise.
Développé par l'équipe de recherche en IA de Snowflake, Arctic repousse les limites du possible grâce à une formation efficace, une rentabilité optimale et un niveau d'ouverture inégalé. Ce modèle révolutionnaire excelle dans les benchmarks clés de l'entreprise tout en nécessitant beaucoup moins de puissance de calcul que les LLM existants. Découvrons ce qui fait d'Arctic un modèle révolutionnaire pour l'IA d'entreprise.
L'intelligence d'entreprise redéfinie À la base, Arctic se concentre sur la fourniture de performances exceptionnelles sur des mesures qui comptent vraiment pour les entreprises : codage, requêtes SQL, suivi d'instructions complexes et production de résultats fondés et fondés sur des faits. Snowflake a combiné ces capacités critiques dans un roman «intelligence d'entreprise” métrique.
Les résultats parlent d'eux-mêmes. Arctic respecte ou surpasse les modèles tels que LAMA 7B et LAMA 70B sur les critères d'intelligence d'entreprise tout en utilisant moins de la moitié du budget informatique pour la formation. Remarquablement, malgré l'utilisation 17 fois moins de ressources de calcul que le LAMA 70B, Arctic atteint la parité sur les tests spécialisés comme le codage (HumanEval+, MBPP+), la génération SQL (Spider) et le suivi d'instructions (IFEval).
Mais les prouesses d'Arctic vont au-delà de la simple réussite aux tests d'entreprise. Il maintient d'excellentes performances en compréhension générale du langage, en raisonnement et en aptitudes mathématiques, par rapport à des modèles entraînés avec des budgets de calcul exponentiellement plus élevés comme DBRX. Cette capacité holistique fait d'Arctic un choix imbattable pour répondre aux divers besoins d'IA d'une entreprise.
L'innovation
Transformateur hybride Dense-MoE Comment l'équipe Snowflake a-t-elle construit un LLM aussi incroyablement performant et efficace ? La réponse réside dans l'architecture de pointe du transformateur hybride Dense Mixture-of-Experts (MoE) d'Arctic.
Les modèles de transformateurs denses traditionnels deviennent de plus en plus coûteux à former à mesure que leur taille augmente, les exigences de calcul augmentant de manière linéaire. La conception du MoE permet de contourner ce problème en utilisant plusieurs réseaux de rétroaction parallèles (experts) et en activant uniquement un sous-ensemble pour chaque jeton d'entrée.
Cependant, la simple utilisation d'une architecture MoE ne suffit pas : Arctic combine ingénieusement les atouts des composants denses et MoE. Il associe un encodeur à transformateur dense de 10 milliards de paramètres à une couche perceptron multicouche (MLP) MoE résiduelle de 128 experts. Ce modèle hybride MoE dense totalise 480 milliards de paramètres, mais seuls 17 milliards sont actifs à un instant T grâce à la modulation top-2.
Les implications sont profondes : Arctic atteint une qualité et une capacité de modèle sans précédent tout en restant remarquablement efficace en termes de calcul pendant la formation et l'inférence. Par exemple, Arctic a 50 % de paramètres actifs en moins que les modèles comme DBRX lors de l'inférence.
Mais l'architecture des modèles n'est qu'une partie de l'équation. L'excellence d'Arctic est l'aboutissement de plusieurs techniques et connaissances pionnières développées par l'équipe de recherche de Snowflake :
- Programme de formation aux données axé sur l'entreprise. Grâce à de nombreuses expérimentations, l'équipe a découvert que les compétences génériques comme le raisonnement de bon sens doivent être acquises tôt, tandis que les spécialisations plus complexes comme le codage et SQL s'acquièrent mieux plus tard dans le processus de formation. Le programme de formation aux données d'Arctic suit une approche en trois étapes imitant les progressions d'apprentissage humaines.
Les premiers tératojetons visent à construire une base générale élargie. Les 1.5 tératojetons suivants se concentrent sur le développement des compétences d'entreprise grâce à des données adaptées au SQL, aux tâches de codage, etc. Les derniers tératojetons affinent les spécialisations d'Arctic grâce à des ensembles de données raffinés.
- Choix architecturaux optimaux Alors que les MoE promettent une meilleure qualité par calcul, le choix des bonnes configurations est crucial mais mal compris. Grâce à des recherches détaillées, Snowflake a atterri sur une architecture employant 128 experts avec les 2 meilleurs contrôles de chaque couche après avoir évalué les compromis qualité-efficacité.
L'augmentation du nombre d'experts permet d'obtenir davantage de combinaisons, améliorant ainsi la capacité du modèle. Cependant, cela augmente également les coûts de communication, c'est pourquoi Snowflake a atterri sur 128 experts « condensés » soigneusement conçus, activés via le top 2 gating comme équilibre optimal.
- Co-conception du système Mais même une architecture de modèle optimale peut être compromise par des goulots d'étranglement du système. L’équipe Snowflake a donc innové ici également en co-concevant l’architecture du modèle main dans la main avec les systèmes de formation et d’inférence sous-jacents.
Pour un entraînement efficace, les composants denses et MoE ont été structurés de manière à permettre une communication et un calcul superposés, masquant ainsi d'importants frais de communication. Côté inférence, l'équipe a exploité les innovations de NVIDIA pour permettre un déploiement très efficace malgré l'envergure d'Arctic.
Des techniques comme la quantification FP8 permettent d'ajuster le modèle complet sur un seul nœud GPU pour une inférence interactive. Les lots plus importants exploitent les capacités de parallélisme d'Arctic sur plusieurs nœuds tout en conservant une efficacité de calcul impressionnante grâce à ses 17 B de paramètres actifs compacts.
Grâce à une licence Apache 2.0, les pondérations et le code d'Arctic sont disponibles sans restriction pour tout usage personnel, de recherche ou commercial. Mais Snowflake est allé bien plus loin en rendant open source l'intégralité de ses recettes de données, ses implémentations de modèles, ses conseils et les analyses approfondies qui alimentent Arctic.
Le "Livre de recettes arctique» est une base de connaissances complète couvrant tous les aspects de la construction et de l’optimisation d’un modèle MoE à grande échelle comme Arctic. Il distille des enseignements clés en matière d'approvisionnement en données, de conception d'architecture de modèle, de co-conception de systèmes, de schémas de formation/inférence optimisés et bien plus encore.
De l'identification de programmes de données optimaux à l'architecture de MoE tout en co-optimisant les compilateurs, les planificateurs et le matériel, ce vaste ensemble de connaissances démocratise des compétences auparavant confinées aux laboratoires d'IA d'élite. L'Arctic Cookbook accélère les courbes d'apprentissage et permet aux entreprises, aux chercheurs et aux développeurs du monde entier de créer leurs propres LLM rentables et personnalisés pour pratiquement tous les cas d'utilisation.
Premiers pas avec l'Arctique
Pour les entreprises désireuses de tirer parti d’Arctic, Snowflake propose plusieurs voies pour démarrer rapidement :
Inférence sans serveur : les clients Snowflake peuvent accéder gratuitement au modèle Arctic sur Snowflake Cortex, la plateforme d'IA entièrement gérée de l'entreprise. De plus, Arctic est disponible sur tous les principaux catalogues de modèles comme AWS, Microsoft Azure, NVIDIA, etc.
Partir de zéro : les pondérations et les implémentations du modèle open source permettent aux développeurs d'intégrer directement Arctic dans leurs applications et services. Le dépôt Arctic fournit des exemples de code, des didacticiels de déploiement, des recettes de réglage fin et bien plus encore.
Créez des modèles personnalisés : grâce aux guides exhaustifs de l'Arctic Cookbook, les développeurs peuvent créer leurs propres modèles MoE personnalisés à partir de zéro, optimisés pour tout cas d'utilisation spécialisé en utilisant les enseignements tirés du développement d'Arctic.
Une nouvelle ère d'entreprise ouverte AI Arctic est bien plus qu'un simple modèle de langage puissant : il annonce une nouvelle ère de capacités d'IA ouvertes, rentables et spécialisées, spécialement conçues pour l'entreprise.
De la révolution de l'analyse de données et de la productivité du codage à l'automatisation des tâches et à la création d'applications plus intelligentes, l'ADN d'Arctic, axé sur l'entreprise, en fait un choix imbattable par rapport aux LLM génériques. En rendant open source non seulement le modèle, mais aussi l'ensemble du processus de R&D qui le sous-tend, Snowflake favorise une culture de collaboration qui propulsera l'écosystème de l'IA dans son ensemble.
Alors que les entreprises adoptent de plus en plus l'IA générative, Arctic propose un modèle audacieux pour développer des modèles objectivement supérieurs aux charges de travail de production et aux environnements d'entreprise. Sa combinaison de recherche de pointe, d'efficacité inégalée et d'une philosophie d'ouverture résolue établit une nouvelle référence en matière de démocratisation du potentiel transformateur de l'IA.
Voici une section avec des exemples de code sur la façon d'utiliser le modèle Snowflake Arctic :
Pratique avec l'Arctique
Maintenant que nous avons couvert ce qui rend Arctic véritablement révolutionnaire, examinons comment les développeurs et les scientifiques des données peuvent commencer à mettre en œuvre ce modèle puissant.
Prêt à l'emploi, Arctic est disponible pré-entraîné et prêt à être déployé via des centres de modèles majeurs tels que Hugging Face et des plateformes d'IA partenaires. Mais sa véritable puissance apparaît lors de sa personnalisation et de son ajustement pour vos cas d'utilisation spécifiques.
La licence Apache 2.0 d'Arctic vous offre une liberté totale pour l'intégrer à vos applications, services ou workflows d'IA personnalisés. Voici quelques exemples de code utilisant la bibliothèque Transformers pour vous aider à démarrer :
Inférence de base avec Arctic
Pour des cas d'utilisation de génération de texte rapide, nous pouvons charger Arctic et exécuter une inférence de base très facilement :
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("Snowflake/snowflake-arctic-instruct")
model = AutoModelForCausalLM.from_pretrained("Snowflake/snowflake-arctic-instruct")
# Create a simple input and generate text
input_text = "Here is a basic question: What is the capital of France?"
input_ids = tokenizer.encode(input_text, return_tensors="pt")
# Generate response with Arctic
output = model.generate(input_ids, max_length=150, do_sample=True, top_k=50, top_p=0.95, num_return_sequences=1)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
Cela devrait produire quelque chose comme :
La capitale de la France est Paris. Paris est la plus grande ville de France et le centre économique, politique et culturel du pays. Elle abrite des monuments célèbres comme la tour Eiffel, le musée du Louvre et la cathédrale Notre-Dame.
Comme vous pouvez le constater, Arctic comprend parfaitement la requête et fournit une réponse détaillée et fondée en tirant parti de ses solides capacités de compréhension du langage.
Ajustement pour les tâches spécialisées
Bien qu'impressionnant dès le départ, Arctic brille vraiment lorsqu'il est personnalisé et affiné sur vos données exclusives pour des tâches spécialisées. Snowflake a fourni des recettes détaillées couvrant :
- Organiser des données de formation de haute qualité adaptées à votre cas d'utilisation
- Mise en œuvre de programmes de formation personnalisés en plusieurs étapes
- Tirer parti des approches efficaces de réglage fin LoRA, P-Tuning ou FactorizedFusion
- Optimisations pour discerner SQL, le codage ou d'autres compétences clés de l'entreprise
Voici un exemple de la façon d'affiner Arctic sur vos propres ensembles de données de codage à l'aide des recettes LoRA et Snowflake :
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model, prepare_model_for_int8_training
# Load base Arctic model
tokenizer = AutoTokenizer.from_pretrained("Snowflake/snowflake-arctic-instruct")
model = AutoModelForCausalLM.from_pretrained("Snowflake/snowflake-arctic-instruct", load_in_8bit=True)
# Initialize LoRA configs
lora_config = LoraConfig(
r=8,
lora_alpha=16,
target_modules=["query_key_value"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)
# Prepare model for LoRA finetuning
model = prepare_model_for_int8_training(model)
model = get_peft_model(model, lora_config)
# Your coding datasets
data = load_coding_datasets()
# Fine-tune with Snowflake's recipes
train(model, data, ...)
Ce code illustre comment vous pouvez facilement charger Arctic, initialiser une configuration LoRA adaptée à la génération de code, puis affiner le modèle sur vos ensembles de données de codage propriétaires en tirant parti des conseils de Snowflake.
Personnalisé et optimisé, Arctic devient une centrale privée conçue pour offrir des performances inégalées sur les flux de travail de votre entreprise et les besoins de vos parties prenantes.