[PYTHON] Datenanalyseumgebung mit Schwerpunkt auf Datalab (+ GCP)

Dieser Eintrag ist eine Fortsetzung der folgenden beiden Einträge.

Untersuchung der auf Datalab zentrierten Analyseumgebung

In Bezug auf die Datenanalyseumgebung gibt es verschiedene Denkweisen hinsichtlich der Anzahl der Analysten, des Geschäftstyps des Unternehmens, des Skalensinns usw., und es ist jedes Mal ärgerlich, wenn ich die Geschichte höre. Ich habe ein Gefühl für die Zukunft von Datalab, aber abschließend scheint Datalab allein leider nicht funktionsfähig genug zu sein. Jetzt, da die neue Analysetechnologie namens Deep Learning zu einem gewissen Grad zum De-facto-Standard geworden ist, halte ich es für sinnvoll, die Analyseumgebung neu zu organisieren, und werde sie daher aufschreiben.

Bedeutung der Investition in ein analytisches Umfeld

Rettys Fall wurde ein heißes Thema und war für mich hilfreich. Deep Learning ist heutzutage populär geworden, daher wird es sich in der Praxis in diese Richtung niederlassen. Unser Unternehmen hat eine Analyseumgebung in eine ähnliche Richtung geschaffen.

Wie ich vor langer Zeit in der Social-Game-Branche gesehen habe, habe ich das Spiel mit Data Mining verbessert und ○ Milliarden Yen verdient, aber es hat nicht so viele Auswirkungen, aber Herr Retty hat oben erwähnt Erholung mehr als die Investition scheint abgeschlossen zu sein, und es scheint definitiv einen Grund zu geben, in die Analyseumgebung zu investieren.

Angenommene Anforderungen an die Analyseumgebung

Für die Geschichte von hier wird Folgendes angenommen.

Konfiguration der Datenanalyseumgebung

Ich werde es zusammen mit dem Übergang der Analyseumgebung schreiben.

Jede Person baut eine Umgebung auf

Es wird zu Beginn der Analyse so aussehen.

分析環境その1.png

Ich denke, dass es unvermeidlich ist, wenn die Anzahl der Personen gering ist und die Kosten für die Analyse nicht ausgegeben werden können.

Ich möchte die Datenquellen ausrichten

Als nächsten Schritt möchten wir einige Datenquellen haben.

分析環境その2.png

Wie üblich scheint die Analyseumgebung selbst anders zu sein, aber ich denke, dass durch die Vereinheitlichung der Datenquellen viele Verbesserungen erzielt werden. Aufgrund des Fehlens einer Analyseumgebung ist es jedoch teuer, die Analyse als Team durchzuführen, und jede Person bleibt auf der Ebene der unabhängigen Analysearbeit.

Ich möchte eine Analyseumgebung vorbereiten

Der nächste Schritt ist die Zusammenarbeit bei der Analyse. In dieser Phase ist es schwierig, die Analysearbeit zu unterteilen und Dinge wie OJT auszuführen, wenn die Analyseumgebung nicht vorbereitet ist. Daher muss die Analyseumgebung vorbereitet werden.

分析環境その3.png

――In den meisten Fällen belassen Sie den Installationsvorgang usw. im Dokument. Wenn Sie neu auf der Site sind, müssen Sie eine eigene Analyseumgebung erstellen.

Allmählich wird es eine wichtige Phase sein, die Analyseumgebung aus Sicht des Ingenieurs zu standardisieren und gemeinsam zu nutzen. Vor dem Aufkommen des tiefen Lernens kann gesagt werden, dass zu diesem Zeitpunkt eine etwas zufriedenstellende Analyseumgebung geschaffen wurde.

Bisherige Probleme: Verdammtes Abfrageproblem

Es gibt Probleme beim Betrieb als Analyseumgebung mit der Konfiguration bis zu diesem Punkt.

Das heißt, da der Datenverarbeitungsteil (DWH, Hadoop / Hive, Redshift usw.) gemeinsam genutzt wird, werden Abfragen (verdammte Abfragen) erstellt, die andere und den Administrator stören. Der Administrator des DWH-Teils muss die verdammte Abfrage im Auge behalten und sie töten.

Aus Sicht des Analysten besteht jedoch die Tendenz, die Datenverarbeitung so weit wie möglich mit Abfragen fortzusetzen, wenn es keine klaren Regeln gibt, und neu hinzugekommene Personen werden verdammte Abfragen ohne Böswilligkeit ausgeben Ich werde. Das verdammte Abfrageproblem ist im Allgemeinen ein Chaos und die Wahrnehmung, dass es keine grundlegende Lösung gibt.

Ich möchte reichhaltigere Computerressourcen sichern und gemeinsam nutzen

Dann gibt es als neuer Trend den Trend, GPU einzuführen, wenn Deep Learning richtig angegangen wird. Im Allgemeinen sind GPU-Maschinen etwas teurer zu beschaffen als CPU-Maschinen und noch nicht billig und einfach in der Cloud zu verwenden. Anstatt eine große Menge an GPU-Ressourcen zu benötigen, besteht die Tendenz, bestenfalls Hochleistungs-GPUs und mehrere GPUs für die Analyse auf Testbasis einzuführen, und ein Fall, in dem die Umgebung selbst, in der mehrere GPUs verwendet werden können, vor Ort erstellt wird. Scheint am meisten zu sein.

In diesem Fall wird der GPU-Computer häufig gemeinsam genutzt, und in diesem Fall wird anscheinend häufig das Docker-Image verwendet. Gleiches gilt für Rettys Fall. Da Deep Learning viele Daten erfordert, ist es selbstverständlich, eine große Festplatte an den GPU-Computer anzuschließen und in der Nähe zu platzieren.

分析環境その4.png

Problem hier: GPU-Ausleihproblem

Natürlich wird die GPU gemeinsam genutzt, sodass der Austausch wie das Ausleihen und Zurückgeben der GPU in Chats und dergleichen beginnt. Um die Sache noch schlimmer zu machen, braucht tiefes Lernen Zeit zum Lernen. Wenn Sie es also einmal ausgeliehen haben, können Sie es nicht einfach zurückgeben. Wenn sich die Arbeit, die die GPU verwenden möchte, überschneidet, sind die Ressourcen sofort erschöpft, und wenn sie umgekehrt nicht verwendet wird, wird sie überhaupt nicht verwendet. Da die Daten auch vor Ort betrieben werden, können Probleme wie Sicherung und Kapazität auftreten.

Betrachten wir also einen Workflow, der sich auf Datalab konzentriert

Wie passt der datenbankzentrierte Workflow hierher? Ich denke, es wird für das Folgende sein.

分析環境その5.png

Admin-Problem auf der DWH-Seite (Gegenmaßnahmen gegen das verdammte Abfrageproblem)

Trennung von Computerressourcen (Gegenmaßnahmen bei Problemen mit der GPU-Ausleihe)

――Sie können sich für diejenigen einsetzen, die GCE verwenden

Endliches Problem der Datenkapazität (Gegenmaßnahme beim GPU-Ausleihproblem)

--Datalab kann auf GCS zugreifen, sodass das Kapazitätsproblem praktisch gelöst zu sein scheint

Verschiedene andere

Datalab scheint alles zu funktionieren (wollte ich sagen)

Also, Datalab, lasst es uns alle benutzen! Ich würde gerne sagen, aber es ist zusammengebrochen, weil ich GPU Instant nicht verwenden kann (lacht) Es ist bedauerlich, bedauerlich. Wie bereits erwähnt, weist Datalab auch [Python 2-Systemprobleme] auf (https://github.com/googledatalab/datalab/issues/902).

Es sind noch viele Probleme zu lösen, aber ich möchte persönlich auf die Datenanalyseumgebung auf GCP achten, die sich auf Datalab konzentriert.

Die Geschichte wird mit Cloud NEXT Extended [Abwesenheitsstudie am 1. April](https :: //algyan.connpass.com/event/52494/).

Recommended Posts

Datenanalyseumgebung mit Schwerpunkt auf Datalab (+ GCP)
[Python] Hinweise zur Datenanalyse
Erstellen Sie eine Python-Datenanalyseumgebung auf einem Mac (El Capitan).
Bereiten Sie eine Programmiersprachenumgebung für die Datenanalyse vor
Datenanalyse Python
Datenanalyse Titanic 1
Erstellen Sie eine Python3 + -Kolbenumgebung auf der Compute Engine von GCP
Versuchen Sie eine rudimentäre Stimmungsanalyse für Twitter Stream API-Daten.
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Datenanalyse mit Python 2
Datenanalyse mit xarray
Umgebungskonstruktion: GCP + Docker
Datenanalyse mit Python
Erstellen Sie eine Datenanalyseumgebung mit Kedro + MLflow + Github-Aktionen
Dockerfile zum Erstellen einer datenwissenschaftlichen Umgebung basierend auf pip3
Datenanalyse basierend auf den Wahlergebnissen der Gouverneurswahl von Tokio (2020)
[Einführung] Künstliche Satellitendatenanalyse mit Python (Google Colab-Umgebung)