FLAML unterstützt AutoML und Hyperparameter-Tuning in Microsoft Fabric Data Science. Darüber hinaus haben wir die Unterstützung für Python 3.11 sowie eine Reihe neuer Schätzer und eine umfassende Integration mit MLflow eingeführt – dank der Beiträge des Microsoft Fabric-Produktteams.
Achtung: Wir haben AutoGen in ein dediziertes Github-Repository migriert. Parallel zu diesem Schritt haben wir auch einen dedizierten Discord-Server und eine Website für umfassende Dokumentation gestartet.
Das automatisierte Multi-Agent-Chat-Framework in AutoGen befindet sich ab Version 2.0.0 in der Vorschau.
FLAML wird im Kochbuch von OpenAI hervorgehoben.
Autogen wird mit Unterstützung für ChatGPT und GPT-4 veröffentlicht und basiert auf der kostengünstigen Hyperparameteroptimierung für die Inferenz der Generierung großer Sprachmodelle.
FLAML ist eine leichtgewichtige Python-Bibliothek zur effizienten Automatisierung von maschinellem Lernen und KI-Operationen. Es automatisiert Arbeitsabläufe basierend auf großen Sprachmodellen, Modellen für maschinelles Lernen usw. und optimiert deren Leistung.
FLAML ermöglicht die Erstellung von GPT-X-Anwendungen der nächsten Generation basierend auf Multi-Agenten-Gesprächen mit minimalem Aufwand. Es vereinfacht die Orchestrierung, Automatisierung und Optimierung eines komplexen GPT-X-Workflows. Es maximiert die Leistung von GPT-X-Modellen und verstärkt deren Schwächen.
Für gängige Aufgaben des maschinellen Lernens wie Klassifizierung und Regression werden mit geringen Rechenressourcen schnell Qualitätsmodelle für vom Benutzer bereitgestellte Daten gefunden. Es ist einfach anzupassen oder zu erweitern. Benutzer können aus einem übersichtlichen Sortiment die gewünschte Anpassbarkeit finden.
Es unterstützt schnelles und wirtschaftliches automatisches Tuning (z. B. Inferenz-Hyperparameter für Basismodelle, Konfigurationen in MLOps/LMOps-Workflows, Pipelines, mathematisch-statistische Modelle, Algorithmen, Computerexperimente, Softwarekonfigurationen) und ist in der Lage, großen Suchraum mit heterogenen Bewertungskosten zu bewältigen komplexe Einschränkungen/Anleitung/frühzeitiges Anhalten.
FLAML basiert auf einer Reihe von Forschungsstudien von Microsoft Research und Kooperationspartnern wie der Penn State University, dem Stevens Institute of Technology, der University of Washington und der University of Waterloo.
FLAML verfügt über eine .NET-Implementierung in ML.NET, einem Open-Source-Framework für plattformübergreifendes maschinelles Lernen für .NET.
FLAML erfordert eine Python-Version >= 3.8 . Es kann von pip aus installiert werden:
pip install flaml
Minimale Abhängigkeiten werden ohne zusätzliche Optionen installiert. Sie können je nach benötigter Funktion zusätzliche Optionen installieren. Verwenden Sie beispielsweise Folgendes, um die vom autogen
Paket benötigten Abhängigkeiten zu installieren.
pip install „flaml[autogen]“
Weitere Optionen finden Sie unter Installation. Für jedes notebook examples
muss möglicherweise eine bestimmte Option installiert werden.
(Neu) Das Autogen-Paket ermöglicht die GPT-X-Anwendungen der nächsten Generation mit einem generischen Multi-Agent-Konversationsframework. Es bietet anpassbare und anpassbare Agenten, die LLMs, Tools und Menschen integrieren. Durch die Automatisierung des Chats zwischen mehreren fähigen Agenten kann man sie ganz einfach dazu bringen, gemeinsam Aufgaben autonom oder mit menschlichem Feedback auszuführen, einschließlich Aufgaben, die den Einsatz von Tools per Code erfordern. Zum Beispiel,
from flaml import autogenassistant = autogen.AssistantAgent("assistant")user_proxy = autogen.UserProxyAgent("user_proxy")user_proxy.initiate_chat(assistant,message="Zeigen Sie mir den YTD-Gewinn der 10 größten Technologieunternehmen bis heute.", )# Dadurch wird ein automatisierter Chat zwischen den beiden Agenten zur Lösung der Aufgabe initiiert
Autogen trägt auch dazu bei, den Nutzen der teuren LLMs wie ChatGPT und GPT-4 zu maximieren. Es bietet einen direkten Ersatz für openai.Completion
oder openai.ChatCompletion
mit leistungsstarken Funktionen wie Optimierung, Caching, Templating und Filterung. Beispielsweise können Sie Generationen durch LLM mit Ihren eigenen Tuning-Daten, Erfolgskennzahlen und Budgets optimieren.
# tuningconfig durchführen, 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, )# Inferenz für eine Testinstanz durchführenresponse = autogen.Completion.create(context=test_instance, **config)
Mit drei Codezeilen können Sie diese wirtschaftliche und schnelle AutoML-Engine als Schätzer im Scikit-Learn-Stil verwenden.
from flaml import AutoMLautoml = AutoML()automl.fit(X_train, y_train, task="classification")
Sie können die Anzahl der Lerner einschränken und FLAML als schnelles Hyperparameter-Tuning-Tool für XGBoost, LightGBM, Random Forest usw. oder als benutzerdefinierten Lerner verwenden.
automl.fit(X_train, y_train, task="classification", estimator_list=["lgbm"])
Sie können auch eine generische Hyperparameteroptimierung für eine benutzerdefinierte Funktion ausführen.
aus flaml import tunetune.run(evaluation_function, config={…}, low_cost_partial_config={…}, time_budget_s=3600)
Zero-Shot AutoML ermöglicht die Verwendung der vorhandenen Trainings-API von lightgbm, xgboost usw. und nutzt gleichzeitig die Vorteile von AutoML bei der Auswahl leistungsstarker Hyperparameterkonfigurationen pro Aufgabe.
from flaml.default import LGBMRegressor# Verwenden Sie LGBMRegressor auf die gleiche Weise wie Sie lightgbm.LGBMRegressor.estimator = LGBMRegressor()# verwenden. Die Hyperparameter werden automatisch entsprechend den Trainingsdaten eingestellt.estimator.fit(X_train, y_train)
Eine ausführliche Dokumentation zu FLAML finden Sie hier.
Darüber hinaus finden Sie:
Recherchen und Blogbeiträge rund um FLAML.
Zwietracht.
Mitwirkender Leitfaden.
ML.NET-Dokumentation und Tutorials für Model Builder, ML.NET CLI und AutoML API.
Dieses Projekt freut sich über Beiträge und Vorschläge. Für die meisten Beiträge müssen Sie einem Contributor License Agreement (CLA) zustimmen, in dem Sie erklären, dass Sie das Recht haben, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren, und dies auch tatsächlich tun. Weitere Informationen finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie neu bei GitHub sind, finden Sie hier eine detaillierte Hilfequelle zum Einstieg in die Entwicklung auf GitHub.
Wenn Sie eine Pull-Anfrage einreichen, ermittelt ein CLA-Bot automatisch, ob Sie eine CLA bereitstellen müssen, und schmückt die PR entsprechend (z. B. Statusprüfung, Kommentar). Folgen Sie einfach den Anweisungen des Bots. Sie müssen dies nur einmal für alle Repos tun, die unsere CLA verwenden.
Dieses Projekt hat den Microsoft Open Source Verhaltenskodex übernommen. Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex oder wenden Sie sich bei weiteren Fragen oder Kommentaren an [email protected].