AWS Germany – Amazon Web Services in Deutschland
Jupyter-Beiträge von AWS zur Demokratisierung generativer KI und Skalierung von ML-Workloads
Original von: Brian Granger, Sr. Principal Technologist
Übersetzt von: Aaron Kaefer, Associate Solutions Architect
Project Jupyter ist ein Open-Source-Projekt mit mehreren Interessenvertretern, das Anwendungen, offene Standards und Tools für Datenwissenschaft, maschinelles Lernen (ML) und Computerwissenschaft entwickelt. Jupyter Notebook, das 2011 erstmals veröffentlicht wurde, hat sich de facto zu einem Standardtool entwickelt, welches von Millionen von Nutzern weltweit in einer Vielzahl an akademischen, Forschungs- und Industriesektoren verwendet wird. Jupyter ermöglicht es Nutzern, interaktiv mit Code und Daten zu arbeiten und computergestützte Narrative zu erstellen und zu teilen, die eine vollständige und reproduzierbare Aufzeichnung ihrer Arbeit bieten.
Angesichts der Bedeutung von Jupyter für Datenwissenschaftler und ML- Entwickler ist AWS ein aktiver Sponsor und Mitwirkender des Projekts Jupyter. Unser Ziel ist es, in der Open-Source-Community zu arbeiten, um Jupyter dabei zu unterstützen, die bestmögliche Notebook-Plattform für Datenwissenschaft und ML zu sein. AWS ist Platin-Sponsor von Project Jupyter über die NumFocus Foundation. Wir sind stolz darauf, ein engagiertes Team von AWS-Technikern leiten zu dürfen, welches zur Software von Jupyter beiträgt und an der Community und Unternehmensführung von Jupyter mitwirkt. Zu unseren Open-Source- Beiträgen zu Jupyter gehören JupyterLab, Jupyter Server und die Jupyter Notebook-Teilprojekte. AWS ist zudem Mitglied der Jupyter-Arbeitsgruppen für Sicherheit und Diversität, Chancengleichheit und Inklusion (DEI). Parallel zu diesen Open-Source-Beiträgen haben wir AWS-Teams, die daran arbeiten, Jupyter in Produkte wie Amazon SageMaker zu integrieren.
Wir freuen uns, auf der JupyterCon mehrere neue Tools für Jupyter-Nutzer vorstellen zu können, mit denen Sie ihre Erfahrung verbessern und die Entwicklungsproduktivität steigern können. Alle diese Tools sind Open Source und können überall dort verwendet werden, wo Jupyter genutzt wird.
Zwei generative KI-Erweiterungen für Jupyter
Generative KI kann die Produktivität von Datenwissenschaftlern und Entwicklern beim Schreiben von Code erheblich steigern. Heute kündigen wir zwei Jupyter- Erweiterungen an, die Jupyter-Nutzern generative KI über eine Chat- Benutzeroberfläche, Magic IPython-Befehle und automatische Vervollständigung bieten. Mit diesen Erweiterungen können Sie eine Vielzahl von Entwicklungsaufgaben mithilfe generativer KI-Modelle in JupyterLab- und Jupyter-Notebooks ausführen
Jupyter AI, ein Open-Source-Projekt zur Integration generativer KI in Jupyter- Notebooks
Jupyter AI nutzt die Leistungsfähigkeit großer Sprachmodelle wie ChatGPT, Jurassic-2 von AI21 und (in Kürze) Amazon Titan und ist ein Open-Source-Projekt, das generative KI-Funktionen in Jupyter-Notebooks bereitstellt. Mithilfe eines großen Sprachmodells kann Jupyter AI einem Programmierer beispielsweise dabei helfen, seinen Quellcode zu generieren, zu debuggen und zu erklären. Jupyter AI kann auch Fragen zu lokalen Dateien beantworten und ganze Notebooks über eine einfache Aufforderung in natürlicher Sprache generieren. Jupyter AI bietet sowohl Magic Befehle, die in jedem Notebook oder jeder IPython-Shell funktionieren, als auch eine benutzerfreundliche Chat-Benutzeroberfläche in JupyterLab. JupyterLab-Nutzer können beliebige Text- oder Notebookzellen auswählen, eine Aufforderung in natürlicher Sprache eingeben, um mit der Auswahl eine Aufgabe auszuführen, und dann die KI-generierte Antwort an einer beliebigen Stelle einfügen. Jupyter AI ist in das MIME-Typsystem von Jupyter integriert, sodass Sie mit Eingaben und Ausgaben jeder Art arbeiten können, die Jupyter unterstützt (Text, Bilder usw.). Es bietet auch Integrationspunkte, mit denen Dritte ihre eigenen Modelle konfigurieren können. Jupyter AI ist ein offizielles Open-Source- Projekt von Project Jupyter.
Amazon CodeWhisperer Jupyter-Erweiterung
Die automatische Code-Vervollständigung ist für Entwickler von grundlegender Bedeutung, und generative KI kann die Nutzererfahrung mit Codevorschlägen erheblich verbessern. Aus diesem Grund haben wir Anfang 2023 die allgemeine Verfügbarkeit von Amazon CodeWhisperer angekündigt. CodeWhisperer ist ein Begleiter zur KI-Programmierung, der Basismodelle (Foundational Models) unter der Haube nutzt, um die Produktivität der Entwickler radikal zu verbessern. Dies funktioniert, indem Codevorschläge in Echtzeit generiert werden, die auf den Kommentaren der Entwickler in natürlicher Sprache und früherem Code in ihrer integrierten Entwicklungsumgebung (IDE) basieren.
Heute freuen wir uns, Ihnen mitteilen zu können, dass JupyterLab-Benutzer die CodeWhisperer-Erweiterung kostenlos installieren und verwenden können. Damit können Codevorschläge für Python-Notebooks in JupyterLab und Amazon SageMaker Studio in Echtzeit, einzeilig oder mit vollem Funktionsumfang generiert werden. Mit CodeWhisperer können Code-Kommentare in natürlicher Sprache geschrieben werden, indem eine bestimmte Aufgabe auf Englisch beschrieben wird, z. B. „Erstellen Sie einen Pandas-DataFrame mithilfe einer CSV-Datei“. Basierend auf diesen Informationen empfiehlt CodeWhisperer einen oder mehrere Codefragmente direkt im Notebook, mit denen die Aufgabe ausgeführt werden kann. Sie können schnell und einfach den besten Vorschlag annehmen, sich weitere Vorschläge ansehen oder mit dem Schreiben Ihres eigenen Codes fortfahren.
In der Vorversion hat CodeWhisperer bewiesen, hervorragend darin zu sein, Code zu generieren, um Codierungsaufgaben zu beschleunigen. Dadurch können Entwickler Aufgaben im Durchschnitt um 57% schneller erledigen. Darüber hinaus ist die Wahrscheinlichkeit, dass Entwickler, die CodeWhisperer verwenden, eine Programmieraufgabe erfolgreich abschließen, um 27% höher als bei Entwicklern, die dies nicht tun. Dies ist ein großer Fortschritt in der Entwicklerproduktivität. CodeWhisperer enthält außerdem einen integrierten Referenz-Tracker, der erkennt, ob ein Codevorschlag Open-Source-Trainingsdaten ähneln könnte, und solche Vorschläge kennzeichnen kann.
Einführung neuer Jupyter-Erweiterungen zum Erstellen, Trainieren und Bereitstellen von ML in großem Maßstab
Unsere Mission ist es, den branchenübergreifenden Zugang zu ML zu demokratisieren. Um dieses Ziel zu erreichen, haben wir 2017 die Amazon SageMaker-Notebook-Instance auf den Markt gebracht — eine vollständig verwaltete Recheninstanz, auf der Jupyter ausgeführt wird und die alle gängigen Datenwissenschaft- und ML-Pakete enthält. Im Jahr 2019 haben wir mit der Einführung von SageMaker Studio, einer IDE für ML veröffentlicht, die auf JupyterLab aufbaut und es ermöglicht, Modelle von einer einzigen Anwendung aus zu erstellen, zu trainieren, zu optimieren, zu debuggen, bereitzustellen und zu überwachen. Zehntausende von Kunden nutzen Studio, um Data-Science-Teams jeder Größe zu unterstützen. Im Jahr 2021 haben wir die Vorteile von SageMaker auf die Community von Millionen von Jupyter-Benutzern ausgeweitet, indem wir Amazon SageMaker Studio Lab auf den Markt gebracht haben — einen kostenlosen Notebook-Service, der wiederum auf JupyterLab basiert und kostenlose Rechenleistung und persistenten Speicher beinhaltet.
Heute freuen wir uns, drei neue Funktionen ankündigen zu können, mit denen Sie die ML-Entwicklung schneller skalieren können.
Notebook Scheduling
Im Jahr 2022 haben wir eine neue Funktion veröffentlicht, die es unseren Kunden ermöglicht, Notebooks als geplante Jobs in SageMaker Studio und Studio Lab auszuführen. Dank dieser Funktion haben viele unserer Kunden Zeit gespart, da sie keine komplexe Cloud-Infrastruktur manuell einrichten mussten, um ihre ML- Workflows zu skalieren.
Wir freuen uns, Ihnen mitteilen zu können, dass das Notebookplanungstool jetzt eine Open-Source-Jupyter-Erweiterung ist, mit der JupyterLab-Nutzer Notebooks auf SageMaker ausführen und bestimmen können, in welcher Umgebung JupyterLab ausgeführt wird. Benutzer können ein Notebook auswählen und es über eine einfache, aber leistungsstarke Nutzeroberfläche als Job automatisieren, der in einer Produktionsumgebung ausgeführt wird. Nachdem ein Notebook ausgewählt wurde, erstellt das Tool einen Snapshot des gesamten Notebooks, verpackt seine Abhängigkeiten in einem Container, erstellt die Infrastruktur, führt das Notebook als automatisierten Job nach einem vom Nutzer festgelegten
Zeitplan aus und stellt die Infrastruktur nach Abschluss des Jobs wieder bereit. Dadurch wird die Zeit, die benötigt wird, um ein Notebook in eine Produktionsumgebung zu übertragen, von Wochen auf Stunden reduziert.
SageMaker-Open-Source-Distribution
Datenwissenschaftler und Entwickler möchten schnell mit der Entwicklung von ML-Anwendungen beginnen, und es kann komplex sein, die miteinander kompatiblen Versionen aller erforderlichen Pakete zu installieren. Um die manuelle Arbeit zu verringern und die Produktivität zu verbessern, freuen wir uns, eine neue Open-Source-Distribution ankündigen zu können, die die beliebtesten Pakete für ML, Datenwissenschaft und Datenvisualisierung enthält. Diese Distribution umfasst Deep-Learning-Frameworks wie PyTorch, TensorFlow und Keras, beliebte Python- Pakete wie NumPy, Scikit-Learn und Pandas sowie IDEs wie JupyterLab und Jupyter Notebook. Die Distribution wurde mit SemVer versioniert und wird in Zukunft regelmäßig veröffentlicht. Der Container ist über die Amazon ECR Public Gallery verfügbar, und sein Quellcode ist auf GitHub verfügbar. Dies bietet Unternehmen Transparenz in Bezug auf die Pakete und den Erstellungsprozess, wodurch es für sie einfacher wird, die Distribution zu reproduzieren, anzupassen oder erneut zu zertifizieren. Das Basis-Image wird mit pip und Conda/Mamba geliefert, sodass Datenwissenschaftler schnell zusätzliche Pakete installieren können, um ihren spezifischen Anforderungen gerecht zu werden.
Amazon CodeGuru Jupyter-Erweiterung
Amazon CodeGuru Security unterstützt jetzt Sicherheits- und Codequalitätsscans in JupyterLab und SageMaker Studio. Diese neue Funktion unterstützt Notebook- Nutzer dabei, Sicherheitslücken wie Injektionsfehler, Datenlecks, schwache Kryptografie oder fehlende Verschlüsselung in den Notebook-Zellen zu erkennen. Sie können auch viele häufig auftretende Probleme erkennen, die sich auf die Lesbarkeit, Reproduzierbarkeit und Richtigkeit von Computational Notebooks auswirken, wie z. B. den Missbrauch APIs von ML-Bibliotheken, ungültige Ausführungsreihenfolge und nicht-deterministischem Verhalten. Wenn im Notebook Sicherheitslücken oder Qualitätsprobleme festgestellt werden, generiert CodeGuru Empfehlungen, anhand derer Sie diese Probleme auf der Grundlage der bewährten AWS-Sicherheitsmethoden beheben können.
Fazit
Die im Artikel beschriebenen Jupyter-Beiträge von AWS unterstützen dabei die Entwicklung zu skalieren, die Produktivität zu steigern und die Vorteile generativer KI zu nutzen. Wir freuen uns darauf zu sehen, wie die Jupyter-Community diese Tools nutzen wird, um ihre Branchen zu transformieren. Die folgenden Ressourcen enthalten weitere Informationen über Jupyter auf AWS, um herauszufinden, wie Sie diese neuen Tools installieren und mit ihnen beginnen können:
Jupyter auf der AWS-Webseite
Jupyter KI-Benutzerhandbuch
Ressourcen zur Amazon CodeWhisperer-Erweiterung
Benutzerhandbuch zur Terminplanungserweiterung für Notebooks
Blogbeitrag zur Erweiterung der Notebookplanung
Amazon SageMaker-Distribution auf GitHub
Benutzerhandbuch für die Amazon CodeGuru-Erweiterung
Über den Autor
Brian Granger ist einer der Leiter des Python-Projekts, Mitbegründer des Project Jupyter und Mitwirkender an einer Reihe anderer Open-Source-Projekte, die sich auf Datenwissenschaft in Python konzentrieren. Im Jahr 2016 hat er das Altair-Paket für statistische Visualisierung in Python mitentwickelt. Er ist Beiratsmitglied der NumFOCUS Foundation, Fakultätsmitglied des Cal Poly Center for Innovation and Entrepreneurship und Senior Principal Technologist bei AWS.