FLAML prend en charge AutoML et le réglage des hyperparamètres dans Microsoft Fabric Data Science. De plus, nous avons introduit la prise en charge de Python 3.11, ainsi qu'une gamme de nouveaux estimateurs et une intégration complète avec MLflow, grâce aux contributions de l'équipe produit Microsoft Fabric.
Attention : nous avons migré AutoGen vers un référentiel github dédié. Parallèlement à cette démarche, nous avons également lancé un serveur Discord dédié et un site Web pour une documentation complète.
Le cadre de chat multi-agent automatisé dans AutoGen est en préversion à partir de la v2.0.0.
FLAML est mis en avant dans le livre de recettes d'OpenAI.
autogen est publié avec la prise en charge de ChatGPT et GPT-4, basée sur une optimisation rentable des hyperparamètres pour l'inférence de génération de modèles de langage étendus.
FLAML est une bibliothèque Python légère pour une automatisation efficace des opérations d'apprentissage automatique et d'IA. Il automatise le flux de travail basé sur de grands modèles de langage, des modèles d'apprentissage automatique, etc. et optimise leurs performances.
FLAML permet de créer des applications GPT-X de nouvelle génération basées sur des conversations multi-agents avec un minimum d'effort. Il simplifie l'orchestration, l'automatisation et l'optimisation d'un flux de travail GPT-X complexe. Il maximise les performances des modèles GPT-X et augmente leur faiblesse.
Pour les tâches courantes d'apprentissage automatique telles que la classification et la régression, il trouve rapidement des modèles de qualité pour les données fournies par les utilisateurs avec de faibles ressources de calcul. Il est facile de personnaliser ou d’étendre. Les utilisateurs peuvent trouver la personnalisation souhaitée parmi une gamme fluide.
Il prend en charge un réglage automatique rapide et économique (par exemple, hyperparamètres d'inférence pour les modèles de base, configurations dans les flux de travail MLOps/LMOps, pipelines, modèles mathématiques/statistiques, algorithmes, expériences informatiques, configurations logicielles), capable de gérer un grand espace de recherche avec un coût d'évaluation hétérogène et contraintes complexes/guidage/arrêt anticipé.
FLAML s'appuie sur une série d'études de recherche menées par Microsoft Research et des collaborateurs tels que la Penn State University, le Stevens Institute of Technology, l'Université de Washington et l'Université de Waterloo.
FLAML a une implémentation .NET dans ML.NET, un framework d'apprentissage automatique open source et multiplateforme pour .NET.
FLAML nécessite la version Python >= 3.8 . Il peut être installé depuis pip :
pip installer flaml
Des dépendances minimales sont installées sans options supplémentaires. Vous pouvez installer des options supplémentaires en fonction de la fonctionnalité dont vous avez besoin. Par exemple, utilisez ce qui suit pour installer les dépendances nécessaires au package autogen
.
pip install "flaml[autogen]"
Trouvez plus d’options dans Installation. Chacun des notebook examples
peut nécessiter l’installation d’une option spécifique.
(Nouveau) Le package autogen active les applications GPT-X de nouvelle génération avec un cadre de conversation multi-agent générique. Il propose des agents personnalisables et conversationnels qui intègrent des LLM, des outils et des humains. En automatisant le chat entre plusieurs agents compétents, on peut facilement leur faire effectuer collectivement des tâches de manière autonome ou avec un retour humain, y compris des tâches qui nécessitent l'utilisation d'outils via du code. Par exemple,
from flaml import autogenassistant = autogen.AssistantAgent("assistant")user_proxy = autogen.UserProxyAgent("user_proxy")user_proxy.initiate_chat(assistant,message="Montrez-moi le gain cumulatif des 10 plus grandes entreprises technologiques à ce jour.", )# Cela lance une conversation automatisée entre les deux agents pour résoudre la tâche
Autogen permet également de maximiser l'utilité des LLM coûteux tels que ChatGPT et GPT-4. Il offre un remplacement instantané de openai.Completion
ou openai.ChatCompletion
avec des fonctionnalités puissantes telles que le réglage, la mise en cache, la création de modèles et le filtrage. Par exemple, vous pouvez optimiser les générations par LLM avec vos propres données de réglage, mesures de réussite et budgets.
# effectuer tuningconfig, Analysis = autogen.Completion.tune(data=tune_data,metric="success",mode="max",eval_func=eval_func,inference_budget=0.05,optimization_budget=3,num_samples=-1, )# effectuer une inférence pour une instance de testresponse = autogen.Completion.create(context=test_instance, **config)
Avec trois lignes de code, vous pouvez commencer à utiliser ce moteur AutoML économique et rapide comme estimateur de style scikit-learn.
depuis flaml import AutoMLautoml = AutoML()automl.fit(X_train, y_train, task="classification")
Vous pouvez restreindre les apprenants et utiliser FLAML comme outil de réglage rapide des hyperparamètres pour XGBoost, LightGBM, Random Forest, etc. ou comme apprenant personnalisé.
automl.fit(X_train, y_train, task="classification", estimator_list=["lgbm"])
Vous pouvez également exécuter le réglage générique des hyperparamètres pour une fonction personnalisée.
à partir de flaml import tunetune.run(evaluation_function, config={…}, low_cost_partial_config={…}, time_budget_s=3600)
Zero-shot AutoML permet d'utiliser l'API de formation existante de lightgbm, xgboost etc. tout en bénéficiant des avantages d'AutoML dans le choix de configurations d'hyperparamètres hautes performances par tâche.
from flaml.default import LGBMRegressor# Utilisez LGBMRegressor de la même manière que vous utilisez lightgbm.LGBMRegressor.estimator = LGBMRegressor()# Les hyperparamètres sont automatiquement définis en fonction de l'entraînement data.estimator.fit(X_train, y_train)
Vous pouvez trouver une documentation détaillée sur FLAML ici.
De plus, vous pourrez retrouver :
Recherches et articles de blog autour de FLAML.
Discorde.
Guide contributeur.
Documentation ML.NET et didacticiels pour Model Builder, ML.NET CLI et AutoML API.
Ce projet accueille les contributions et suggestions. La plupart des contributions nécessitent que vous acceptiez un contrat de licence de contributeur (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez effectivement, le droit d'utiliser votre contribution. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Si vous êtes nouveau sur GitHub, voici une source d'aide détaillée pour vous impliquer dans le développement sur GitHub.
Lorsque vous soumettez une pull request, un robot CLA déterminera automatiquement si vous devez fournir un CLA et décorera le PR de manière appropriée (par exemple, vérification du statut, commentaire). Suivez simplement les instructions fournies par le bot. Vous n’aurez besoin de le faire qu’une seule fois pour tous les dépôts utilisant notre CLA.
Ce projet a adopté le code de conduite Microsoft Open Source. Pour plus d’informations, consultez la FAQ sur le code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.