mindsquare.de durchsuchen

Google Colaboratory

Google¬†Colaboratory¬†ist ein von Google f√ľr maschinelles Lernen entwickeltes und kostenlos nutzbares Forschungsprojekt, das¬†Jupyter¬†Notebooks in der¬†Cloud-Plattform¬†Google Drive ausf√ľhrt.

Entwickler trainieren Modelle unter Verwendung von Trainings- und¬†Testdaten¬†oder f√ľhren Berechnungen mit bereits fertig trainierten Modellen durch. Der Zugriff auf die¬†cloudbasierte¬†Jupyter-Notebook-Umgebung¬†Google¬†Colaboratory¬†erfolgt √ľber g√§ngige Browser wie Safari, Chrome oder Firefox.

Anwendungsbereiche von Google Colaboratory

Google¬†Colaboratory¬†wurde speziell f√ľr Anwendungen im Bereich des maschinellen Lernen entwickelt. F√ľr diesen Zweck erstellt der Anwender ein benutzerdefiniertes¬†Jupyter-Notebook oder nutzt eine der zahlreichen¬†AutoML¬†Tables¬†f√ľr das Training verschiedenster Modelle mit vorhandenen Test- und¬†Trainingsdaten. Das Marketing profitiert von dieser Form des maschinellen Lernens in genauso hohem Umfang wie¬†Unternehmensbereiche, die sich mit verschiedensten Prognosen von der Bedarfs- bis zur¬†Energiepreisprognose¬†besch√§ftigen.

  • Training bin√§rer¬†Klassifizierungsmodelle¬†zur Vorhersage zuk√ľnftiger Einkommen, von¬†Kaufvorhersagen¬†oder¬†Produktbestandsl√ľcken.
  • Training von Modellen zur Generierung von Vorhersagen wie beispielsweise¬†Energiepreis- oder¬†Verkehrsprognosen
  • Training von¬†Sprachmodellen
  • Komplexe Berechnungen mit bereits trainierten Modellen unter Verwendung leistungsf√§higer¬†TPUs

Im Prinzip ist Google Colaboratory immer dann das geeignete Tool, wenn ein Unternehmen aus einem umfangreichen Datenbestand, der durch kontinuierliche neue Informationen angereichert wird, automatisiert Informationen generieren möchte. In dieser Situation ist das maschinelle Lernen unter Einsatz optimal trainierter Modelle das Mittel der ersten Wahl.

Analysetools

Um die rechenintensiven Prozesse verschiedenster¬†Analysetools¬†zuverl√§ssig zu bew√§ltigen, entwickelte Google bereits vor einigen Jahren spezielle¬†TPUs, die auch in der¬†cloudbasierten¬†L√∂sung¬†Google¬†Colaboratory¬†zum Einsatz kommen. Diese leistungsf√§higen Tensor¬†Processing¬†Units¬†sind darauf optimiert, in trainierten neuronalen Netzen innerhalb k√ľrzester Zeit eine Vielzahl an Berechnungen durchzuf√ľhren. So erreichen¬†TPUs¬†der neuesten Generation eine unvorstellbare Rechenleistung von mehr als 100¬†Petaflops¬†pro Sekunde.

Unterst√ľtzt Python

Jupyter¬†Notebook ist eine Entwicklungsumgebung, die sich im Bereich des maschinellen Lernens vielfach bew√§hrt. Die Anwendung ist ein Produkt des Projekts¬†Jupyter, einer¬†OpenSource-Initiative¬†mit dem Fokus auf „Interactive¬†Computing“ und der Unterst√ľtzung m√∂glichst vieler Programmiersprachen. Unter anderem auch Python, die als eine der wichtigsten Sprachen im Bereich des maschinellen Lernens gilt.

Dokumentenorientiert

Die Programmierumgebung¬†Jupyter¬†Notebook ist¬†dokumentenorientiert¬†und organisiert Projekte in Notebooks – den¬†JupyterNotebooks. Besonders hervorzuheben sind die zahlreichen M√∂glichkeiten von¬†Jupyter¬†Notebook, zu denen die interaktive Ausf√ľhrung von Codes genauso z√§hlt wie die Datenvisualisierung. So ist es m√∂glich, √ľber die digitalen Dokumente¬†JupyterNotebooks unterschiedlichste Inhalte wie Grafiken oder¬†Mediafiles¬†anzeigen zu lassen.

Jupiter Notebook Entwicklerumgebung

Allerdings √ľberzeugt Jupiter Notebook als¬†Entwicklerumgebung¬†und als digitale Dokumente durch weitere wichtige Features. Dazu geh√∂rt beispielsweise die Implementierung verschiedenster Programmiersprachen in einen bestehenden Code. Immerhin sind mehr als 100 Kernels zur Einbindung verschiedenster Programmiersprachen verf√ľgbar. So ist es m√∂glich, die Variablen der f√ľr statistische Berechnungen genutzten Sprache „R“ mit dem Code von Python auszutauschen. Oder ein Entwickler implementiert Funktionen mit¬†Cython¬†und ruft sie √ľber den Python Code auf.

Markup Language & Code

Ebenfalls eine f√ľr Jupiter Notebooks typische Eigenschaft ist die Einteilung in einzelne Zellen. Jede dieser Zellen enth√§lt entweder Content in Form von¬†Markup¬†Language¬†oder Code und ist einzeln ausf√ľhrbar. Die interaktive Ausf√ľhrung der einzelnen Zellen ist vor allem bei erforderlichen √Ąnderungen im Code oder von Parametern ein zeit- und ressourcensparendes Feature. Daf√ľr werden¬†Jupyter¬†Notebooks entweder direkt √ľber die Kommandozeile ausgef√ľhrt und bearbeitet, √ľber die¬†browsergest√ľtzte¬†Jupyter¬†App, oder √ľber¬†Google¬†Colaboratory.

Datenanalyse fokussiert

Jupyter¬†Notebooks sind immer dann die erste Wahl, wenn der Fokus auf der¬†Datenanalyse, interaktivem Programmieren oder dem Erstellen von¬†Programmierbeispielen¬†liegt. Genauso von Vorteil ist die Tatsache, dass die Notebooks neben der Ausf√ľhrung von Codes noch weitere Funktionen erf√ľllen. Dazu z√§hlen vor allem die Pr√§sentation und Dokumentation von Codes. Als¬†Pr√§sentations-Dokument¬†wird der Inhalt des Notebooks¬†gerendert¬†angezeigt und nicht als Source Code. Oder Entwickler teilen das Notebook mit anderen Anwendern, die es mit Kommentaren versehen.

Warum Google Colaboratory und Jupyter Notebook?

Eine der ersten¬†Colaboratory-Versionen aus dem Jahr 2014 wurde gemeinsam von Google und dem¬†Jupyter-Entwicklerteam gemeinsam entwickelt. Obwohl sich¬†Google¬†Colaboratory¬†kontinuierlich weiter entwickelte, basiert es heute noch auf der innovativen, webbasierten und interaktiven¬†Open-Source-Webanwendung¬†Jupyter¬†Notebook. Damit erstellt der Anwender Dokumente mit Gleichungen, Visualisierungen, narrativem Text oder¬†Live-Codes. Eine Funktion von vielen ist das¬†Code-Listingund die M√∂glichkeit, den Code schrittweise auszuf√ľhren. Als¬†OpenSource-Anwendung¬†unterst√ľtzt¬†Jupyter¬†mehr als 40 Programmiersprachen, zu denen unter anderem auch die von¬†Colaboratory¬†unterst√ľtzte Sprache Python z√§hlt.

Allerdings unterst√ľtzt¬†Google¬†Colaboratory¬†aktuell (Stand¬†09/2019) nur¬†Swift¬†und Python 2.7 sowie Python 3.6. Obwohl Google zum aktuellen Zeitpunkt an der Realisierung der Unterst√ľtzung anderer¬†Jupyter-Kernel wie beispielsweise R oder¬†Scalaarbeitet, gibt es noch keine detaillierten Aussagen zum¬†ETA.

Jupyter-Notebook-Umgebung

F√ľr Entwickler von¬†Deep-Learning-Anwendungen, die mit¬†Jupyter¬†Notebooks vertraut sind, ist das Arbeiten mit¬†Google Colaboratory¬†unkompliziert. Da es sich um eine¬†Jupyter-Notebook-Umgebung¬†handelt, ist die Installation einer Software nicht erforderlich. Die Anmeldung erfolgt ausschlie√ülich √ľber einen g√§ngigen Webbrowser wie beispielsweise Chrome, Firefox oder Safari √ľber das¬†Google-Konto.

Google Drive-Konto

Die verschiedenen¬†Jupyter-Notebooks speichert¬†Colaboratory¬†automatisch auf dem pers√∂nlichen Google¬†Drive-Konto. Hier empfehlen erfahrene Nutzer, ein Verzeichnis anzulegen, um die Notebooks zu einem sp√§teren Zeitpunkt einfacher zu finden. Alternativ k√∂nnen Notebooks von¬†GitHub¬†hochgeladen werden, um sie in¬†Google¬†Colaboratory¬†auszuf√ľhren.

Google Colaboratory

Deep-Learning Bibliothek

Eine unverzichtbare Funktionalität ist der Einsatz verschiedener auf Google Drive gespeicherter Deep-Learning Bibliotheken wie PyToch, TensoFlow, Keras oder OpenCV. Dadurch erhalten Entwickler ein breites Spektrum an Algorithmen, um die Modelle effizient und optimal zu trainieren.

F√ľr die Ausf√ľhrung der in Python oder¬†Swift¬†erstellten Codes nutzt Google innerhalb der Cloud angelegte virtuelle Maschinen. Diese sind dem individuellen¬†Nutzerkonto¬†zugeordnet und k√∂nnen innerhalb der Laufzeit mehrmals gestartet werden. Allerdings verf√ľgen diese virtuellen Maschinen nur √ľber eine¬†systemseitig¬†begrenzte maximale Laufzeit und werden nach Ablauf automatisch gel√∂scht.

T4 GPUs & TPUs

Da es sich um ein kostenloses Angebot und ein Forschungsprojekt handelt, muss mit kleineren Einschr√§nkungen gerechnet werden. Dazu z√§hlt die vorgegebene maximale¬†Runtime¬†pro Sitzung genauso wie eine Begrenzung der¬†Hardware-Ressourcen f√ľr Benutzer, die¬†Google¬†Colaboratory¬†nicht interaktiv, sondern ausschlie√ülich f√ľr aufwendige Berechnungen nutzen, um von den hoch leistungsf√§higen¬†T4¬†GPUs¬†und¬†TPUs¬†zu profitieren. In diesen F√§llen erfolgt eine vor√ľbergehende Begrenzung dieser Ressource. Hier empfiehlt Google, die Bedienoberfl√§che von¬†Colaboratory¬†mit einer lokalen¬†Laufzeitumgebung¬†zu verbinden.

Der Sinn der begrenzten Vergabe der¬†Hochleistungsressourcen¬†liegt darin, dass Google als kostenloses Forschungsprojekt in erster Linie die interaktiven Anwender und Entwickler unterst√ľtzt. Dadurch f√∂rdert Google gezielt die aktive Beteiligung an der Entwicklung des maschinellen Lernens und belohnt diese Gruppe durch eine bevorzugte Behandlung bei der Verteilung der leistungsf√§higsten Ressourcen wie¬†T4¬†GPUs¬†oder¬†TPUs.

Verbot von Krypto-Mining

Die m√§chtige¬†Hardwareausstattung, die Google kostenlos bietet, verleitet zum Missbrauch. Dieser wird strikt unterbunden und ist verboten. Dies gilt vor allem f√ľr¬†Krypto-Mining¬†mittels¬†Google¬†Colaboratory. Ein entsprechender Missbrauch von¬†GoogleColaboratory¬†f√ľr diesen Zweck zieht ein dauerhaftes¬†Nutzungsverbot¬†des Tools nach sich.

Cloud & lokale Laufzeitumgebung

Um bestimmte Einschr√§nkungen wie die begrenzte¬†Runtime¬†zu umgehen, bietet sich die M√∂glichkeit einer lokalen¬†Laufzeitumgebung. F√ľr diesen Zweck wird der¬†Jupyter-Server lokal installiert, um die Notebooks ausf√ľhren zu k√∂nnen. Die daf√ľr erforderliche¬†Jupyter-Erweiterung ist auf¬†GitHub¬†verf√ľgbar. Auch hier pr√§sentiert sich¬†Google¬†Colaboratory¬†wieder von seiner benutzerfreundlichen Seite.

Im Prinzip sind es nur vier Schritte, die der Anwender durchf√ľhrt, um die Bedienoberfl√§che von¬†Colaboratory¬†mit dem eigenen PC zu verbinden.

  • Schritt 1
    Installation von Jupyter auf dem PC
  • Schritt 2
    Installation und Aktivierung der¬†Jupyter-Erweiterung (auf¬†GitHub¬†verf√ľgbar)
  • Schritt 3
    Starten des installierten Notebook-Servers und Authentifizierung mittels Flag, um eine Verbindung zwischen Jupyter und WebSocket-Verbindungen des Colaboratory-Frontends zu ermöglichen. Als Bestätigung gibt Jupyter einen Port aus, der in Schritt 4 benötigt wird.
  • Schritt 4
    Herstellen einer Verbindung zu lokalen¬†Laufzeitumgebung, indem der Anwender in der¬†Colaboratory-Nutzeroberfl√§che „Mit lokaler¬†Laufzeitumgebung¬†verbinden“ ausw√§hlt. Nun wird nur mehr der in Schritt 3 ausgegebene Port in ein¬†Dialogfeldeingegeben und die Verbindung wird hergestellt.

Allerdings kann eine lokale¬†Laufzeitumgebung¬†nicht nur f√ľr jenen PC hergestellt werden, auf dem der¬†Jupyter-Server installiert ist. Es besteht zus√§tzlich die M√∂glichkeit einer lokalen¬†SSH-Porterweiterung¬†f√ľr den¬†Verbindungsaufbau¬†zwischen einer √ľber den aktuellen¬†Anwender-PC¬†ge√∂ffneten¬†Google¬†Colaboratory¬†und einer¬†Remote-Instanz, auf der der¬†Jupyter-Server l√§uft.

Gefahr durch fremde Codes

Grunds√§tzlich √ľberzeugt¬†Google¬†Colaboratory¬†durch hohe Sicherheit. Nur das Teilen der verf√ľgbaren Notebooks mit anderen Anwendern ist mit gewissen Risiken behaftet. Dies gilt vor allem f√ľr das Ausf√ľhren von Notebooks anderer Entwickler, da durch die lokale Verbindung zwischen eigenem PC und¬†Google¬†Colaboratory¬†von fremden Codes immer eine schwer kalkulierbare Gefahr ausgeht. Dies gilt selbstverst√§ndlich auch bei Vorhandensein einer lokalen¬†Laufzeitumgebung.

Das fremde Notebook, das Codes enthält:

  • beliebige Befehle aufrufen und ausf√ľhren,
  • auf das lokale Dateisystem zugreifen und dadurch
  • gro√üe Sch√§den anrichten.

Das Teilen vorhandener Notebooks ist unproblematisch, da der Speicherort auf Google Drive liegt. Bei diesem Vorgang wird immer die standardmäßige Verbindung mit der Cloud hergestellt und nie eine lokale Verbindung. Allerdings werden ohne manuelle Einschränkung alle im Notebook enthaltenen Informationen geteilt. Es besteht jedoch die Möglichkeit, die Codezellenausgabe zu verhindern.

Browserspezifische Einstellungen erforderlich

F√ľr die Nutzung von¬†Colaboratory¬†wurden allen g√§ngigen Browser getestet. Sie alle eignen sich f√ľr die problemlose Arbeit mit der¬†Colaboratory-Bedienoberfl√§che. Allerdings nutzt¬†Colaboratory¬†HTML-iFrames¬†und an unterschiedlich¬†gehostete¬†Service-Workers, um die umfangreiche Ausgabe der Ergebnisse so sicher wie m√∂glich zu gestalten. Dies erfordert bei allen Browsern die Aktivierung von „Cookies von Drittanbietern“. Alternativ wird diese¬†Browsereinstellung¬†mit dem Hostnamen „googleusercontent.com“ auf der Positivliste des Browsers vorgenommen. Dadurch er√ľbrigt sich die Aktivierung f√ľr Cookies aller Drittanbieter auf Websites, die der Anwender besucht.

Kommen Gehen App – Mobile Zeiterfassung

Als moderne Fiori App haben Sie Ihre Stempeluhr in der Hosentasche, nur mit einem Klick ist Ihre Kommenzeit oder Gehenzeit gebucht.

Firefox-Konfigurationseditor

Eine speziell bei Mozilla Firefox erforderliche Einstellung ist die Erlaubnis, dass Colaboratory eine Verbindung zum lokalen Kernel herstellen darf. In der Regel lässt Firefox keine Verbindungen einer HTTPS-Domain mit Standard-WebSockets zu. Diese Einstellung erfolgt im Firefox-Konfigurationseditor, indem der Anwender die Einstellung network.websocket.allowInsecureFromHTTPS vornimmt.

Google¬†Colaboratory¬†beweist auch an dieser Stelle seine hohe Nutzerfreundlichkeit, die es unkompliziert erm√∂glicht,¬†Colaboratory¬†von allen¬†Standardbrowsern¬†ohne gro√üen Aufwand zu nutzen. Maximal zwei Einstellungen m√ľssen ge√§ndert werden, um in den Genuss der zahlreichen Vorteile der¬†Jupyter¬†Notebook-Umgebung¬†zu kommen.

Fazit

Mit der kostenlosen¬†Jupyter-Notebook-Umgebung¬†Colaboratory¬†bietet Google Entwicklern von Anwendungen f√ľr maschinelles Lernen ein benutzerfreundliches und unkompliziertes Tool, um Modelle f√ľr die verschiedensten Einsatzbereiche zu realisieren und zu trainieren. Hardwarekomponenten in Form leistungsf√§higer¬†GPUs¬†stehen dem Anwender genauso kostenlos zur Verf√ľgung wie zahlreiche andere Features, die Entwickler f√ľr ihre Arbeit ben√∂tigen. So wird das Training bin√§rer¬†Klassifizierungsmodelle¬†genauso unkompliziert wie das Training von Modellen zur Generierung verschiedenster Prognosen oder von¬†Sprachmodellen.

Wie geht es weiter?

Schritt 1

Sie nehmen telefonisch, per Mail oder Formular Kontakt auf und schildern uns Ihr Anliegen.

Schritt 2

Zur Kl√§rung von R√ľckfragen und von Details zum weiteren Vorgehen melden wir uns telefonisch bei Ihnen.

Schritt 3

Wir unterbreiten Ihnen ein Angebot und unterst√ľtzen Sie gerne auch bei der Pr√§sentation f√ľr Ihr Management.

Passende Angebote zum Thema

Komplettpaket: HR-Analytics
Sie stehen vor der Herausforderung ein Reporting im HR-Umfeld aufzubauen, Ihnen fehlen jedoch die notwendigen Kompetenzen im Umfeld von SAP BW f√ľe die Umsetzung? Dann wenden Sie sich an uns!
BestPractice Einf√ľhrung ‚Äď SuccessFactors Schnittstelle
Die Einf√ľhrung der SuccessFactors Schnittstelle kann un√ľbersichtlich und langwierig sein. Nur wenige haben Expertise in dem Umfeld und die Dokumentation zu dem Thema ist bisweilen unzureichend. Wir haben unsere Expertise und Erfahrung aus Einf√ľhrungsprojekten genutzt und daraus ein Best-Practice entwickelt mit dem Sie Risiken und Projektkosten minimieren.
Das Produkt- und Technologieportfolio rund um die BI- und Analytics-Lösungen der SAP ist extrem vielfältig und unterliegt einem ständigen Wandel. Dies ist einerseits notwendig, um neue Anforderungen an Analysehorizont, Performance, Mobilität und Live-Reporting gerecht zu werden. Andererseits werden einige Unternehmen von dieser Geschwindigkeit der technologischen Weiterentwicklung abgehängt und verpassen die Vorteile.