NinjaTech AI hat es sich zur Aufgabe gemacht, alle produktiver zu machen, indem zeitaufwändige komplexe Aufgaben mit schnellen und erschwinglichen Agenten für künstliche Intelligenz (KI) erledigt werden. Wir haben kürzlich gestartet MyNinja.ai, einer der weltweit ersten persönlichen KI-Assistenten mit mehreren Agenten, der unsere Mission vorantreibt. MyNinja.ai wurde von Grund auf mithilfe spezialisierter Agenten entwickelt, die in der Lage sind, Aufgaben in Ihrem Namen zu erledigen. Dazu gehören die Planung von Besprechungen, die Durchführung umfassender Recherchen im Internet, das Generieren von Code und die Unterstützung beim Schreiben. Diese Agenten können komplizierte, aus mehreren Schritten bestehende Aufgaben in verzweigte Lösungen aufteilen und sind in der Lage, die generierten Lösungen dynamisch zu bewerten und gleichzeitig kontinuierlich aus früheren Erfahrungen zu lernen. All diese Aufgaben werden völlig autonom und asynchron erledigt, sodass Sie Ihren Tag fortsetzen können, während Ninja im Hintergrund an diesen Aufgaben arbeitet und aktiv wird, wenn Ihre Eingabe erforderlich ist.

Da kein einziges großes Sprachmodell (LLM) für jede Aufgabe perfekt ist, wussten wir, dass für die Erstellung eines persönlichen KI-Assistenten mehrere LLMs erforderlich sind, die speziell für eine Vielzahl von Aufgaben optimiert wurden. Um die Genauigkeit und die Funktionen bieten zu können, die unsere Benutzer begeistern, wussten wir auch, dass diese verschiedenen Modelle gleichzeitig zusammenarbeiten mussten. Schließlich benötigten wir skalierbare und kostengünstige Methoden für das Training dieser verschiedenen Modelle — ein Unterfangen, das für die meisten Startups in der Vergangenheit kostspielig war. In diesem Beitrag beschreiben wir, wie wir unseren hochmodernen Produktivitätsagenten NinjaLM, das Rückgrat von MyNinja.ai, mit folgenden Tools entwickelt haben AWS Trainium Chips.
Einen Datensatz erstellen
Wir haben früh erkannt, dass wir mehrere Modelle benötigten, die für bestimmte Aufgaben optimiert waren, um die Mission zu erfüllen, Aufgaben im Namen eines Benutzers zu erledigen. Beispiele hierfür sind unsere Modelle Deep Researcher, Deep Coder und Advisor. Nachdem wir die verfügbaren Open-Source-Modelle getestet hatten, waren wir zu dem Schluss gekommen, dass die sofort einsatzbereiten Funktionen und Reaktionen nicht ausreichten, um unseren Anforderungen gerecht zu werden. Insbesondere wollten wir bei unseren Tests mit Open-Source-Modellen sicherstellen, dass jedes Modell für einen React-/Chain-of-Thought-Prompting-Stil optimiert ist. Darüber hinaus wollten wir sicherstellen, dass das Modell, wenn es als Teil eines bereitgestellt wird, funktioniert Erweiterte Generierung von Abrufen (RAG) -System, zitieren Sie jede Quelle genau und geben Sie alle Vorurteile an, „Ich weiß nicht“ zu sagen, anstatt falsche Antworten zu geben. Zu diesem Zweck haben wir uns entschieden, die Modelle für die verschiedenen nachgelagerten Aufgaben zu optimieren.
Bei der Erstellung unseres Trainingsdatensatzes verfolgten wir ein zweifaches Ziel: Jedes Modell an seine geeignete nachgelagerte Aufgabe und Persona (Forscher, Berater, Programmierer usw.) anzupassen und die Modelle so anzupassen, dass sie einer bestimmten Output-Struktur folgen. Zu diesem Zweck folgten wir dem Lima-Ansatz zur Feinabstimmung. Wir verwendeten eine Stichprobengröße für das Training von ungefähr 20 Millionen Tokens, wobei wir uns auf das Format und den Ton der Ausgabe konzentrierten und gleichzeitig eine vielfältige, aber relativ kleine Stichprobengröße verwendeten. Um unseren überwachten Feinabstimmungsdatensatz zu erstellen, erstellten wir zunächst erste Startaufgaben für jedes Modell. Mit diesen Seed-Aufgaben generierten wir einen ersten synthetischen Datensatz unter Verwendung des Llama 2-Modells von Meta. Wir konnten den synthetischen Datensatz verwenden, um eine erste Runde der Feinabstimmung durchzuführen. Um zunächst die Leistung dieses fein abgestimmten Modells zu bewerten, haben wir das Feedback der Nutzer per Crowdsourcing gesammelt, um iterativ weitere Stichproben zu erstellen. Wir verwendeten auch eine Reihe von internen und öffentlichen Benchmarks, um die Leistung des Modells zu bewerten, und iterierten weiter.
Feinabstimmung auf Trainium
Wir haben uns aus mehreren Gründen dafür entschieden, mit den Lama-Modellen als vortrainiertes Basismodell zu beginnen: vor allem wegen der großartigen Out-of-Box-Leistung, der starken Ökosystemunterstützung durch verschiedene Bibliotheken und der echten Open-Source-Lizenz und der freizügigen Lizenz. Damals begannen wir mit Llama 2 und testeten die verschiedenen Größen (7B, 13B und 70B). Für das Training entschieden wir uns für einen Cluster von trn1.32xlarge Instances, um die Vorteile der Trainium-Chips zu nutzen. Wir haben einen Cluster von 32 Instanzen verwendet, um das Training effizient zu parallelisieren. Wir nutzten auch Paralleler AWS-Cluster um die Cluster-Orchestrierung zu verwalten. Durch die Verwendung eines Clusters von Trainium-Instances dauerte jede Iteration der Feinabstimmung weniger als 3 Stunden und kostete weniger als 1.000$. Diese schnelle Iterationszeit und die niedrigen Kosten ermöglichten es uns, unsere Modelle schnell zu optimieren und zu testen und unsere Modellgenauigkeit zu verbessern. Um die in den folgenden Abschnitten erläuterten Genauigkeiten zu erreichen, mussten wir nur etwa 30.000$ ausgeben. Dadurch sparten wir Hunderttausende, wenn nicht sogar Millionen von Dollar ein, wenn wir mit herkömmlichen Trainingsbeschleunigern trainieren mussten.
Das folgende Diagramm veranschaulicht unsere Trainingsarchitektur.

Nachdem wir unsere Feinabstimmungspipelines auf der Grundlage von Trainium eingerichtet hatten, konnten wir unsere Modelle dank der Neuron Distributed Trainingsbibliotheken optimieren und verfeinern. Dies war äußerst nützlich und kam zur rechten Zeit, da im Vorfeld der Markteinführung von MyNinja.ai die Llama 3-Modelle von Meta veröffentlicht wurden. Llama 3 und Llama 2 haben eine ähnliche Architektur, sodass wir schnell auf das neuere Modell aufrüsten konnten. Diese Geschwindigkeit beim Umschalten ermöglichte es uns, die Vorteile der inhärenten Verbesserungen an der Modellgenauigkeit zu nutzen und sehr schnell eine weitere Runde der Feinabstimmung mit den Llama 3-Gewichten durchzuführen und uns auf den Start vorzubereiten.
Bewertung des Modells
Bei der Bewertung des Modells gab es zwei Ziele: Bewertung der Fähigkeit des Modells, Benutzerfragen zu beantworten, und Bewertung der Fähigkeit des Systems, Fragen anhand der bereitgestellten Quellen zu beantworten, da dies die primäre Oberfläche unseres persönlichen KI-Assistenten ist. Wir haben das ausgewählt Scharfe Kartoffel und Natürliche Fragen (NQ) Öffnen Datensätze, die beide aufgrund ihrer offenen Benchmarking-Datensätze mit öffentlichen Bestenlisten gut zusammenpassen.
Wir haben die Genauigkeit berechnet, indem wir die Antwort des Modells mit der erwarteten Antwort verglichen haben. Dabei wurden die zehn wichtigsten Passagen verwendet, die aus einem Wikipedia-Korpus abgerufen wurden. Wir haben die Inhalte gefiltert und bewertet mit Colbert V2, ein BERT-basiertes Abrufmodell. Mit unserem erweiterten Llama 3 RAG-Modell erreichten wir Genauigkeiten von 62,22% beim NQ Open-Datensatz und 58,84% bei HotPotQA, was deutliche Verbesserungen gegenüber anderen Basismodellen zeigt. Die folgende Abbildung fasst unsere Ergebnisse zusammen.

Zukünftige Arbeit
Mit Blick auf die Zukunft arbeiten wir an mehreren Entwicklungen, um die Leistung und das Benutzererlebnis unseres Modells weiter zu verbessern. Zunächst wollen wir Folgendes verwenden ODER zur Feinabstimmung unserer Modelle. ORPO kombiniert traditionelle Feinabstimmung mit Präferenzausrichtung, wobei für beide ein einziger Datensatz zur Präferenzausrichtung verwendet wird. Wir glauben, dass wir auf diese Weise Modelle besser aufeinander abstimmen können, um bessere Ergebnisse für die Nutzer zu erzielen.
Darüber hinaus beabsichtigen wir, aus den verschiedenen Modellen, die wir bisher optimiert haben, ein maßgeschneidertes Ensemble-Modell zu bauen. Inspiriert von Mixture of Expert (MoE) -Modellarchitekturen beabsichtigen wir, eine Routing-Ebene in unsere verschiedenen Modelle einzuführen. Wir glauben, dass dies unsere Architektur für die Bereitstellung und Skalierung von Modellen radikal vereinfachen und gleichzeitig die Qualität der verschiedenen Aufgaben beibehalten wird, die unsere Benutzer von unserem persönlichen KI-Assistenten erwarten.
Fazit
Die Entwicklung von KI-Agenten der nächsten Generation, um alle produktiver zu machen, ist der Weg von NinjaTech AI, seine Mission zu erfüllen. Um den Zugang zu dieser transformativen Technologie zu demokratisieren, ist es wichtig, Zugang zu leistungsstarken Rechenleistungen, Open-Source-Modellen und einem Ökosystem von Tools zu haben, die die Schulung jedes neuen Agenten erschwinglich und schnell machen. Die speziell entwickelten KI-Chips von AWS, der Zugriff auf die besten Open-Source-Modelle und die Schulungsarchitektur machen dies möglich.
Um mehr darüber zu erfahren, wie wir die persönliche Multi-Agenten-KI von NinjaTech AI entwickelt haben, lesen Sie unsere Whitepaper. Sie können diese KI-Agenten auch kostenlos testen unter MyNinja.ai.
Über die Autoren

Arash Sadrieh ist Mitbegründer und Chief Science Officer von Ninjatech.ai. Arash war Mitbegründer von Ninjatech.ai mit der Vision, alle produktiver zu machen, indem er sich mit KI-Agenten um zeitaufwändige Aufgaben kümmert. Diese Vision wurde während seiner Tätigkeit als Senior Applied Scientist bei AWS geprägt, wo er sechs Jahre lang wichtige Forschungsinitiativen vorantrieb, die die Effizienz der Infrastruktur erheblich verbesserten, was ihm mehrere Patente für die Optimierung der Kerninfrastruktur einbrachte. Sein akademischer Hintergrund umfasst einen Doktortitel in Computermodellierung und Simulation und arbeitete mit renommierten Institutionen wie der Universität Oxford, der Universität Sydney und dem CSIRO zusammen. Vor seiner Tätigkeit in der Industrie hatte Arash eine Postdoktorandenausbildung, die durch Veröffentlichungen in renommierten Zeitschriften wie Nature Communications geprägt war.

Tahir Azim ist angestellter Softwareingenieur bei NinjaTech. Tahir konzentriert sich auf die Inf2- und Trn1-basierten Trainings- und Inferenzplattformen von NinjaTech, sein einheitliches Gateway für den Zugriff auf diese Plattformen und seine RAG-basierten Forschungsfähigkeiten. Zuvor arbeitete er als leitender Softwareingenieur bei Amazon und entwickelte datengesteuerte Systeme zur optimalen Nutzung der globalen Internet-Edge-Infrastruktur von Amazon, wodurch Kosten, Überlastung und Latenz gesenkt wurden. Vor seinem Wechsel in die Industrie erwarb Tahir einen M.S. und einen Doktortitel in Informatik an der Stanford University, unterrichtete drei Jahre lang als Assistenzprofessor an der NUST (Pakistan) und promovierte an der EPFL im Bereich schnelle Datenanalysesysteme. Tahir hat mehrere Publikationen verfasst, die auf hochrangigen Konferenzen wie VLDB, USENIX ATC, MobiCom und MobiHoc präsentiert wurden.

Tengfei Xue ist angewandter Wissenschaftler bei NinjaTech AI. Seine aktuellen Forschungsinteressen umfassen die Verarbeitung natürlicher Sprache und multimodales Lernen, insbesondere unter Verwendung großer Sprachmodelle und großer multimodaler Modelle. Tengfei schloss sein Doktoratsstudium an der School of Computer Science der University of Sydney ab, wo er sich auf Deep Learning für das Gesundheitswesen mit verschiedenen Modalitäten konzentrierte. Er war auch Gastdoktorand am Laboratory of Mathematics in Imaging (LMI) der Harvard University, wo er an 3D-Computervision für komplexe geometrische Daten arbeitete.



