Gamificationist vor allen Dingen ein Trend, der dem User Experience und User Interface Design zuzuschreiben ist. Es geht also um das Design von SocialInterfaces. Weitere Bestandteile sind die Motivationspsychologie und Verhaltenspsychologie.
Gamificationist vor allen Dingen ein Trend, der dem User Experience und User Interface Design zuzuschreiben ist. Es geht also um das Design von SocialInterfaces. Weitere Bestandteile sind die Motivationspsychologie und Verhaltenspsychologie.
MapReduce erlaubt das verteilte Verarbeiten riesiger Datenmengen auf einer grossen Anzahl einfacher Knoten (Cluster). Kann dieses Thema in einem Enterprise-Java-Umfeld von Bedeutung sein ? Nach einer kurzen Einführung in das MapReduce Verfahren, gibt diese Session einen Überblick über die Möglichkeiten von MapReduce mit Hilfe von Apache Hadoop und diskutiert Einsatzmöglichkeiten.
Die wachsende Komplexität von Geschäfts- und Internetanwendungen und gestiegenen Erwartungen an die Agilität der Entwicklung verlangen einen neuen, effizienteren Ansatz zur Systementwicklung im Team.
Automatisierung in hochskalierenden Umgebungen werden vom üblichen Push-Deployment-Ansatz ausgebremst.
Das z2-Environment addressiert beide Problembereiche.
Große Datenmengen und kleine gelbe Elefanten: eine vielzitierte Kombination. Aber wie sieht es in der Realität denn konkret damit aus? Dieser Praxisbericht will aufzeigen, wie man in modernen BI-Architekturen große Datenmengen mit dem Hadoop-Ökosystem erfolgreich beherrschen kann und welchen verschiedenen Herausforderungen man auf diesem Weg begegnet.
Caching mit Spring Boot - Pain & Gain @ JCON22QAware GmbH
JCON Online, September 2022, Dirk Kröhan, (Software Architect) at QAware.
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
"There are only two hard things in computer science: cache invalidation and naming things." …und doch kommt man an Caches manchmal nicht vorbei! Spring (Boot) bietet zur Rettung eine praktische Cache Abstraction an, die wir in unserem Projekt eingesetzt haben. Doch was passiert, wenn man von einem simplen in-memory cache auf einen distributed cache umsteigen will, wie z.B. Redis? Geht das wirklich so einfach? Nach einem Einstieg in die Spring Cache Abstraction, geht es um Themen wie Resilient Cache Manager, Cache Poisoning und was es neben klassischen Hit-/Miss-Rate Metriken noch so braucht. Das alles gepaart mit einer Live-Demo in der wir uns gemeinsam Schritt für Schritt die Themen anschauen. Zum Abschluss zeige ich euch gerne noch wie wir Spring Caching mit einer @CollectionCacheable Annotation erweitert haben, was euch als OpenSource Projekt zur Verfügung steht.
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopValentin Zacharias
Vorstellung der Lambda Architektur, ihrer Motivation und einer konkreten technischen Umsetzung mit den Open Source Technologien Hadoop 2, Kafka und Storm.
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
Im letzten Webinar unserer Back to Basics Reihe zeigte Ihnen Benjamin Lorenz, Senior Solutions Architect bei MongoDB, wie Sie dafür sorgen, dass Ihr MongoDB-System in einer Produktionsumgebung korrekt arbeitet.
LAIK: A Library for Fault Tolerant Distribution of Global DataDai Yang
LAIK is an ongoing library for proactive and reactive fault tolerance in HPC applications. It provides index space management and load balancing for existing and new HPC applications.
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
Ein Key-Value Store mit nativer Unterstützung für JSON, der auch Graphen und SQL “kann”. Der Foliensatz enthält detaillierte Informationen zur Nutzung der Oracle NoSQL DB aus Sicht der Anwendungsentwicklung als auch aus Sicht der Administration / des Betriebs.
lldb kann mehr als nur einfache Breakpoints oder po. In dem Vortrag zeigt Oliver Bayer, wie sich mit Hilfe von lldb Programmcode zur Ausführungszeit manipulieren lässt, ohne das hierfür der Sourcecode anzupassen ist. Sei es, damit Test- oder Debugcode nicht in die produktiv App gelangt, oder weil der Sourcecode für einen Teil der App nicht vorliegt.
Event: macoun, 04.10.2019
Speaker: Oliver Bayer, inovex
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
With the advent of Deep Learning (DL), the field of AI made a giant leap forward and it is nowadays applied in many industrial use-cases. Especially critical systems like autonomous driving, require that DL methods not only produce a prediction but also state the certainty about the prediction in order to assess risks and failure.
In my talk, I will give an introduction to different kinds of uncertainty, i.e. epistemic and aleatoric. To have a baseline for comparison, the classical method of Gaussian Processes for regression problems is presented. I then elaborate on different DL methods for uncertainty quantification like Quantile Regression, Monte-Carlo Dropout, and Deep Ensembles. The talk is concluded with a comparison of these techniques to Gaussian Processes and the current state of the art.
Speaker: Dr. Florian Wilhelm, Simon Bachstein, inovex
Event: PyCon/PyData Berlin 2019
Datum: 10.10.2019
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Weitere ähnliche Inhalte
Ähnlich wie Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern
MapReduce erlaubt das verteilte Verarbeiten riesiger Datenmengen auf einer grossen Anzahl einfacher Knoten (Cluster). Kann dieses Thema in einem Enterprise-Java-Umfeld von Bedeutung sein ? Nach einer kurzen Einführung in das MapReduce Verfahren, gibt diese Session einen Überblick über die Möglichkeiten von MapReduce mit Hilfe von Apache Hadoop und diskutiert Einsatzmöglichkeiten.
Die wachsende Komplexität von Geschäfts- und Internetanwendungen und gestiegenen Erwartungen an die Agilität der Entwicklung verlangen einen neuen, effizienteren Ansatz zur Systementwicklung im Team.
Automatisierung in hochskalierenden Umgebungen werden vom üblichen Push-Deployment-Ansatz ausgebremst.
Das z2-Environment addressiert beide Problembereiche.
Große Datenmengen und kleine gelbe Elefanten: eine vielzitierte Kombination. Aber wie sieht es in der Realität denn konkret damit aus? Dieser Praxisbericht will aufzeigen, wie man in modernen BI-Architekturen große Datenmengen mit dem Hadoop-Ökosystem erfolgreich beherrschen kann und welchen verschiedenen Herausforderungen man auf diesem Weg begegnet.
Caching mit Spring Boot - Pain & Gain @ JCON22QAware GmbH
JCON Online, September 2022, Dirk Kröhan, (Software Architect) at QAware.
== Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! ==
"There are only two hard things in computer science: cache invalidation and naming things." …und doch kommt man an Caches manchmal nicht vorbei! Spring (Boot) bietet zur Rettung eine praktische Cache Abstraction an, die wir in unserem Projekt eingesetzt haben. Doch was passiert, wenn man von einem simplen in-memory cache auf einen distributed cache umsteigen will, wie z.B. Redis? Geht das wirklich so einfach? Nach einem Einstieg in die Spring Cache Abstraction, geht es um Themen wie Resilient Cache Manager, Cache Poisoning und was es neben klassischen Hit-/Miss-Rate Metriken noch so braucht. Das alles gepaart mit einer Live-Demo in der wir uns gemeinsam Schritt für Schritt die Themen anschauen. Zum Abschluss zeige ich euch gerne noch wie wir Spring Caching mit einer @CollectionCacheable Annotation erweitert haben, was euch als OpenSource Projekt zur Verfügung steht.
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopValentin Zacharias
Vorstellung der Lambda Architektur, ihrer Motivation und einer konkreten technischen Umsetzung mit den Open Source Technologien Hadoop 2, Kafka und Storm.
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
Im letzten Webinar unserer Back to Basics Reihe zeigte Ihnen Benjamin Lorenz, Senior Solutions Architect bei MongoDB, wie Sie dafür sorgen, dass Ihr MongoDB-System in einer Produktionsumgebung korrekt arbeitet.
LAIK: A Library for Fault Tolerant Distribution of Global DataDai Yang
LAIK is an ongoing library for proactive and reactive fault tolerance in HPC applications. It provides index space management and load balancing for existing and new HPC applications.
Weltweite Produktionsdatenverwaltung mit MySQL-ReplikationFromDual GmbH
Weltweite Produktionsdatenverwaltung mit MySQL
* Ausgangslage
* Probleme die sich stellen
* Wer darf welche Daten kriegen?
* Wie werden Daten verteilt?
* Produktionsdaten zurück?
* MySQL multi-Source Replikation
* Bertriebsverantwortung
* Hochverfügbarkeit
* Sensitive Daten
* Wer darf welche Daten sehen?
* MySQL Row Filterung
* Nachträgliche Forderungen
Big Data Community Webinar vom 16. Mai 2019: Oracle NoSQL DB im ÜberblickKarin Patenge
Ein Key-Value Store mit nativer Unterstützung für JSON, der auch Graphen und SQL “kann”. Der Foliensatz enthält detaillierte Informationen zur Nutzung der Oracle NoSQL DB aus Sicht der Anwendungsentwicklung als auch aus Sicht der Administration / des Betriebs.
Ähnlich wie Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern (20)
lldb kann mehr als nur einfache Breakpoints oder po. In dem Vortrag zeigt Oliver Bayer, wie sich mit Hilfe von lldb Programmcode zur Ausführungszeit manipulieren lässt, ohne das hierfür der Sourcecode anzupassen ist. Sei es, damit Test- oder Debugcode nicht in die produktiv App gelangt, oder weil der Sourcecode für einen Teil der App nicht vorliegt.
Event: macoun, 04.10.2019
Speaker: Oliver Bayer, inovex
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
With the advent of Deep Learning (DL), the field of AI made a giant leap forward and it is nowadays applied in many industrial use-cases. Especially critical systems like autonomous driving, require that DL methods not only produce a prediction but also state the certainty about the prediction in order to assess risks and failure.
In my talk, I will give an introduction to different kinds of uncertainty, i.e. epistemic and aleatoric. To have a baseline for comparison, the classical method of Gaussian Processes for regression problems is presented. I then elaborate on different DL methods for uncertainty quantification like Quantile Regression, Monte-Carlo Dropout, and Deep Ensembles. The talk is concluded with a comparison of these techniques to Gaussian Processes and the current state of the art.
Speaker: Dr. Florian Wilhelm, Simon Bachstein, inovex
Event: PyCon/PyData Berlin 2019
Datum: 10.10.2019
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Why natural language is next step in the AI evolutioninovex GmbH
In 2010 ImageNet finally ended the AI winter and gave machines the sense of sight. Within the following years dramatic improvements in tasks such as image classification and object detection lead to innovations like face ID and autonomous driving. Recently, similar developments happened in the field of natural language. Using Attention mechanism and transformers tasks such as question answering and text summarization reached new benchmarks.
This talk will not only explain those, but point out how Transfer Learning and open source models such as Google Bert will open the field to new innovations in AI.
Speaker: Nico Kreiling, inovex
Event: AIxIA, 01.10.2019
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Die Worldwide Developers Conference (WWDC) ist eine von Apple jährlich durchgeführte Konferenz für Software-Entwickler (MacOS, iOS und WatchOS). Um die WWDC 2019 nochmal Revue passieren zu lassen, wurde beim Mobile Development Karlsruhe Meetup zu einer offenen Diskussionsrunde eingeladen. Die Slides fassen die für inovexler Philipp interessantesten Neuigkeiten der WWDC2019 zusammen und dienten beim Meetup als Diskussionsgrundlage.
Event: 9. Mobile Development Meetup (WWDC Edition)
Speaker: Philipp Wallrich, inovex
Datum: 17.06.2019
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Trust is good, control is better – A short story about Network Policies.
Abstract:
Probably everybody who uses Kubernetes in a productive environment with multiple users possibly has looked at policies. Often the operators of the cluster(s) just trust the policies but in some cases it might be useful to control if the policies actually have taken action and often there are just to many Policies in the cluster setup to manually test them all (and obviously you don’t want to do this). Testing the effectiveness of the Network Policies can be done in different approaches. In this talk we will show you the benefits and drawbacks of different approaches and what solution we finally chose. Also we will show you some other tools and how they complement our solution. As a takeaway you will get an overview of different testing strategies for policies, as well as understanding challenges in testing policies in general and the Kubernetes ecosystem.
Event: ContainerDays 2019
Datum: 26.06.2019
Speaker: Johannes M. Scheuermann, Maximilian Bischoff (beide inovex)
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Interpretierbarkeit von ML-Modellen hat die Zielsetzung, die Ursachen einer Prognose offenzulegen und eine daraus abgeleitete Entscheidung für einen Menschen nachvollziehbar zu erklären. Durch die Nachvollziehbarkeit von Prognosen lässt sich beispielsweise sicherstellen, dass deren Herleitung konsistent zum Domänenwissen eines Experten ist. Auch ein unfairer Bias lässt sich durch die Erklärung aussagekräftiger Beispiele identifizieren.
Prognosemodelle lassen sich grob in intrinsisch interpretierbare Modelle und nicht-interpretierbare (auch Blackbox-) Modelle unterscheiden. Intrinsisch interpretierbare Modelle sind dafür bekannt, dass sie für einen Menschen leicht nachvollziehbar sind. Ein typisches Beispiel für ein solches Modell ist der Entscheidungsbaum, dessen regelbasierter Entscheidungsprozess intuitiv und leicht zugänglich ist. Im Gegensatz dazu gelten Neuronale Netze als Blackbox-Modelle, deren Prognosen durch die komplexe Netzstruktur schwer nachvollziehbar sind.
In diesem Talk erläuterte Marcel Spitzer das Konzept von Interpretierbarkeit im Kontext von Machine Learning und stellte gängige Verfahren zur Interpretation von Modellen vor. Besonderen Fokus legte er dabei auf modellunabhängige Verfahren, die sich auch auf prognosestarke Blackbox-Modelle anwenden lassen.
Event: M3 Minds Mastering Machines
Speaker: Marcel Spitzer
Blog-Artikel: https://www.inovex.de/blog/machine-learning-interpretability/
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
Das Ökosystem rund um Kubernetes wächst täglich. Insbesondere cloud-native Continuous-Deployment-Strategien stehen Hoch im Kurs und werden in diversen Open-Source-Projekten vorangetrieben. In einer Reihe von Evalutionen nimmt inovex diese Tools genauer unter die Lupe - den Anfang macht Jenkins X.
Jenkins X wurde im März 2018 veröffentlicht. Das Konzept hinter dem Tool ist primär, bestehende Teillösungen (Helm, Skaffold, Prow, Tekton) einzusetzen, um sie abstrahiert in ein Kommandozeilen-Interface zu packen. Der Vortrag beschreibt sowohl die klassische Architektur als auch den "Severless"-Ansatz. Des weiteren werden das Kommandozeilen-Tool "jx", der allgemeine Entwicklungs-Workflow sowie diverse Features vorgestellt.
Bei unseren Tests im Rahmen der Evaluation sind uns einige Stolpersteine aufgefallen. Es sind vor allem die vielen eingesetzten Dritt-Tools, die den Betrieb und den Upkeep eines mit Jenkins X erstellten Clusters verkomplizieren. Als Fazit stellen wir Jenkins X im Mai 2019 ein "befriedigend" aus und beobachten gespannt, wie sich das Tool in den kommmenden Monaten und Jahren weiterentwickeln wird.
Event: Talk4Nerds, 29.04.2019
Speaker: Simon Kienzler, Johannes M. Scheuermann (beide inovex)
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Neben dem großen Machine-Learning-Trend in der Cloud zeichnet sich zunehmend die Tendenz ab, bestimmte Aufgaben direkt auf Edge-Geräten auszuführen. Wir erkunden die Vorteile von Auswertungen direkt an der Quelle der Daten und die damit verbundenen Herausforderungen. Denn die Rechenleistung der Cloud steht uns hier leider nicht zur Verfügung.
Zur Lösung stehen uns verschiedene Hardwareoptionen wie CPUs, GPUs, FPGAs oder spezielle ASICs und Frameworks zur Verfügung, die wir am Beispiel von einem Convolutional Neural Network evaluieren. Dabei gibt es praktische Tipps und Erfahrungen aus realen Projekten sowie anschauliche Demos auf verschiedenen Hardwareplattformen.
Vorkenntnisse:
Vorkenntnisse über tiefe neuronale Netze sind von Vorteil.
Lernziele:
- Verständnis über die Vorteile von AI auf Edge-Geräten und den damit verbundenen Herausforderungen.
- Wissen über die verschiedenen Hard- und Softwarelösungen erlangen, um diese in eigenen Projekten einzusetzen.
Event: building IoT, 03.04.2019
Speaker: Dominik Helleberg, inovex
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Blog-Artikel: inovex.de/blog
This document discusses Prometheus on Kubernetes. It provides an overview of Prometheus and its ecosystem, including how it is used for service discovery on Kubernetes, collecting and storing metrics, ensuring high availability and scalability through sharding, and defining and alerting on service level agreements. It also covers instrumentation using exporters, the Prometheus query language PromQL, and components of the Prometheus ecosystem like Grafana and Alertmanager.
Recommender systems support the decision making processes of customers with personalized suggestions. These widely used systems influence the daily life of almost everyone across domains like ecommerce, social media, and entertainment. However, the efficient generation of relevant recommendations in large-scale systems is a very complex task. In order to provide personalization, engines and algorithms need to capture users’ varying tastes and find mostly nonlinear dependencies between them and a multitude of items. Enormous data sparsity and ambitious real-time requirements further complicate this challenge. At the same time, deep learning has been proven to solve complex tasks like object or speech recognition where traditional machine learning failed or showed mediocre performance.
Join Marcel Kurovski to explore a use case for vehicle recommendations at mobile.de, Germany’s biggest online vehicle market. Marcel shares a novel regularization technique for the optimization criterion and evaluates it against various baselines. To achieve high scalability, he combines this method with strategies for efficient candidate generation based on user and item embeddings—providing a holistic solution for candidate generation and ranking.
The proposed approach outperforms collaborative filtering and hybrid collaborative-content-based filtering by 73% and 143% for MAP@5. It also scales well for millions of items and users returning recommendations in tens of milliseconds.
Event: O'Reilly Artificial Intelligence Conference, New York, 18.04.2019
Speaker: Marcel Kurovski, inovex GmbH
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
In seinem Meetup Talk berichtete Maximilian von den aktuellen Problemen von Cloud Computing – insbesondere im Internet of Things – und wie diese durch Edge Computing mitigiert werden können. Er erklärte, wie eine generische Edge-Computing-Architektur aussehen kann und zeigte Anwendungsfälle, von denen manche auch schon in existierenden Produkten umgesetzt sind.
Im Anschluss stellte er Azure IoT Edge vor und erläuterte, wie es das bestehende IoT Framework von Microsoft erweitert sowie die Grundkonzepte, die IoT Edge bereitstellt. Auch die Probleme in dem noch jungen Produkt wurden angesprochen, aber auch die Vorteile und Features, die es liefert.
In der gemeinsamen Demo mit Eli haben dann beide Speaker die technischen Details von Azure IoT Edge gezeigt und demonstriert, beispielsweise wie Code automatisiert von einer CI/CD-Pipeline in Azure DevOps auf ein IoT-Gerät deployed werden kann.
Event: inovex Meetup, 12.03.& 19.03.2019
Speaker: Maximilian Bischoff, inovex
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Es liegt in der Natur des Menschen das Unvorhersehbare vorherzusagen: Wetter, Aktienkurse, Krankheitsverläufe, die Reaktion eines Menschen. Neueste Deep Learning Ansätze sind in der Lage solche sequentielle Sachverhalte immer genauer zu prognostizieren, setzen aber auch immer größere Datenmengen und Rechenleistungen voraus, die sowohl in Forschung als auch in der Praxis häufig nicht vorliegen. Wie kann man gute Ergebnisse erreichen, wenn nur wenig Daten vorliegen?
Marisa Mohr stellte in ihrem Vortrag einen neuen und vielversprechenden informationstheoretischen Ansatz zum Feature Learning von sequentiellen Daten vor, der potenziell auch mit wenigen Daten auskommt. Dabei ging es speziell um ordinale Muster in Zeitreihen, wie sie beispielsweise als Veränderung von Emotionen im Gesprächsverlauf zu finden sind. Eine solche Entwicklung ist für Menschen in der Regel leicht zu erkennen. Chatbots hingegen können nicht intuitiv auf solche Emotionsverläufe reagieren, sondern müssen entsprechend programmiert werden.
Details:
Deep-Learning-Ansätze wie LSTMs, RNNs oder TCNs haben sich im Umgang mit sequentiellen Daten bewährt. Neuronale Netzwerke sind tief im technischen Sinn, weil sie mehrere (verborgene) Schichten besitzen, aber nicht weil sie ein tiefes Verständnis von Problemen entwickeln. In diesem Vortrag stellte Marisa einen symbolischen informationstheoretischen Ansatz des Representation Learnings von Zeitreihen vor und damit eine Möglichkeit, konzeptionelle Schichten zu konstruieren. Die Idee hinter der sogenannten Permutationsentropie besteht darin, anstelle der Werte einer Zeitreihe die Ordnungsrelation zwischen den Werten zu betrachten, und so auf das natürliche Auf und Ab des zugrundeliegenden dynamischen Systems zurückzugreifen.
Event: inovex Meetup: Das Unvorhersehbare vorhersagen: Zeitreihen und Chatbots, 26.03.2019
Speakerin: Marisa Mohr (inovex)
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Talk to me – Chatbots und digitale Assistenteninovex GmbH
Menschliche Kommunikation folgt zwar einer ganzen Reihe von Regeln, diese lassen sich aber schwer formalisieren. Nicht zuletzt deshalb, weil in unseren Interaktionen immer auch eine Fülle von Welt- und implizitem Kontextwissen eine Rolle spielt. Rein regelbasierte Chatbots sind daher nicht nur äußert komplex in der Programmierung, sondern stoßen in vielen Anwendungsbereichen schnell an ihre Grenzen.
In diesem Vortrag gab Anna Weißhaar einen Überblick über die aktuellen Lösungen und Herausforderungen im Bereich digitale Assistenten. Der Fokus lag dabei auf Ansätzen, die Chatbots „chatty“ machen, sie also möglichst adäquat auf im Voraus unbekannte Nutzereingaben reagieren zu lassen.
Event: inovex Meetup: Das Unvorhersehbare vorhersagen: Zeitreihen und Chatbots, 26.03.2019
Speaker: Anna Weißhaar (inovex)
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Nicht zuletzt durch die medienwirksame Erfolge des maschinellen Lernens durch DeepMind, OpenAI und Kollegen ist Künstliche Intelligenz im Moment wieder in aller Munde. Einerseits locken zahlreiche neue, vorher undenkbare Anwendungen wie die automatische Diagnose von Krankheiten, autonome Fahrzeuge und Drohnen, oder die automatische Übersetzung gesprochener Wörter. Andererseits warnen mahnenden Stimmen wird vor dem zunehmendem Einflussnahme der „Algorithmen“ auf fast alle Bereiche unseres Lebens sowie vor unerwünschten Folgen von sich verselbstständigenden Computern gewarnt. Einige träumen von – oder fürchten sich vor – der vermeintlich unausweichlichen Singularität, an der sich nichts weniger als das Schicksal der gesamten Menschheit entscheiden wird. Doch was verbirgt sich hinter dem Begriff Künstliche Intelligenz? Je nachdem, wen man fragt, erhält man unterschiedliche, bisweilen gegensätzliche Antworten. Dieser Vortrag stellt einige dieser Antworten vor und versucht sie (nicht nur) anhand von Beispielen aus Forschung und Anwendung einzuordnen.
Event: Business Analytics Day, 07.03.2019
Speaker: Dr. Matthias Richter, Dr. Stefan Igel (inovex)
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
In den letzten drei Jahren haben wir die Infrastruktur der Fernseh-Plattform waipu.tv gebaut. Dabei haben wir angefangen Tools für den Betrieb in Golang zu schreiben. Aus einigen der Tools wurden Core-Services, die auch die Last einer Fußball-WM-Übertragung locker wegstecken. Wir wollen euch zeigen, wie wir mit der selben Tool-Chain (Golang & Co) Betriebs-Probleme lösen und kritische Business-Applikationen entwickeln. Klassisch DevOps oder Golden Hammer?
Speaker: Christoph Petrausch, Igor Lankin (beide inovex)
Event: DevOpsConference, 04.12.2018
Mehr Tech-Vorträge: inovex.de/vortraege
Mehr Tech-Artikel: inovex.de/blog
Das Android Open Source Project, kurz AOSP, ist das Betriebssystem, das auf den meisten heutigen und wahrscheinlich auch auf deinem Smartphone läuft. Es ist die Basis für das Android-App-Universum und wird von Millionen Nutzern und Entwicklern auf der Welt verwendet. Wegen der offenen Verfügbarkeit des Source Codes ist es auch die Basis für bekannte Custom ROMs wie LineageOS.
Der erste Teil des Talks gab eine Übersicht über die Architektur des Betriebssystems, das App-Ökosystem, den Hardware Abstraction Layer (HAL), die Sicherheitskonzepte und einige neue Betriebssystementwicklungen wie Project Treble in Android 8.0.
Der zweite Teil des Talks gab einen Einblick in den Quellcode und die Struktur des AOSP: Wie lädt man sich den Source Code herunter, wie baut man das AOSP für unterstützte Geräte und wie kann man die eigenen ROMs auf ein Smartphone flashen? Zum Spaß wurde auch noch in einige Implementierungsdetails von Android-App-API-Funktionen geblickt, die man als App Developer schon aufgerufen hat.
Speaker: Stefan Lengfeld, inovex
Event: inovex Meetup Köln, 23.10.2018
Mehr Tech-Vorträge: www.inovex.de/vortraege
Mehr Tech-Artikel: www.inovex.de/blog
This document discusses machine learning interpretability. It defines interpretation as giving explanations to humans for machine learning models and decisions. It notes that humans create, are affected by, and demand explanations for decision systems. The document outlines different techniques for model interpretability including intrinsically interpretable models, post-hoc interpretability techniques that provide explanations for black box models, and model-specific and model-agnostic techniques. It provides examples like partial dependence plots, individual conditional expectation, and local surrogate models. It recommends choosing techniques based on the recipient and purpose of explanations.
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
Online vehicle marketplaces are embracing artificial intelligence to ease the process of selling a vehicle on their platform. The tedious work of copying information from the vehicle registration document into some web form can be automated with the help of smart text-spotting systems, in which the seller takes a picture of the document, and the necessary information is extracted automatically.
Florian Wilhelm details the components of a text-spotting system, including the subtasks of object detection and optical character recognition (OCR). Florian elaborates on the challenges of OCR in documents with various distortions and artifacts, which rule out off-the-shelf products for this task. After offering an overview of semisupervised learning based on generative adversarial networks (GANs), Florian evaluates the performance gains of this method compared to supervised learning. More specifically, for a varying amount of labeled data, he compares the accuracy of a convolution neural network (CNN) to a GANthat uses additional unlabeled data during the training phase, showing that GANs significantly outperform classical CNNs in use cases with a lack of labeled data.
What you'll learn:
Understand how semisupervised learning with GANs works
Explore beneficial semisupervised methods based on GANs for use cases with a limited amount of labeled data
Gain insight into an interesting OCR use case of an online vehicle marketplace
Event: O'Reilly Artificial Intelligence Conference, London, 11.10.2018
Speaker: Dr. Florian Wilhelm
Mehr Tech-Vorträge: www.inovex.de/vortraege
Mehr Tech-Artikel: www.inovex.de/blog
People & Products – Lessons learned from the daily IT madnessinovex GmbH
IT im 21. Jahrhundert – What a time to be alive! Es gibt einen (unüberschaubaren) Zoo an Methoden und Produkten die uns so viel Freude an der Arbeit bereiten! Sie sind modern, weil sie neu sind. Sie fordern unser Können heraus, weil sie komplex sind. Sie lösen einige Probleme, die wir vorher nicht hatten. Jeder will sie verwenden, weil Google, Netflix & Co. sie propagieren und Hand auf’s Herz: Will nicht jeder gerne so arbeiten wie Google, Netflix & Co.? Aber macht das wirklich Sinn?
In diesem Vortrag blicken wir auf diverse Erkenntnisse aus dem Einsatz agiler Produktentwicklung, DevOps, Continuous Integration/Delivery, Infrastructure as Code, Immutable Infrastructure (bspw. Docker/Kubernetes), Application Logging und Service Monitoring.
Learning Goals:
- Wir müssen den Einsatz von Methoden und Tools an die Menschen ausrichten, die sie (weiter-)entwickeln und benutzen sollen.
- Manchmal lösen wir mit neuen Tools Probleme, die wir vorher nicht hatten.
- Die Suche nach einfachen Lösungen für komplexe Probleme ist essentiell, aber nicht immer einfach.
Event: Continuous Lifecycle, 15.11.2018
Speaker: Arnold Bechtoldt
Mehr Tech-Vorträge: www.inovex.de/vortraege
Mehr Tech-Artikel: www.inovex.de/blog
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
Pulumi (pulumi.io) offers an open source platform to create/manage and deploy your infrastructure in realy programming languages like JavaScript/TypeScript, Go and Python. As Cloud platforms the major 3 cloud providers are supported and additionally you can also use Pulumi with OpenStack and Kubernetes to deploy your applications in the cloud.
In this talk we will take a look how Pulumi is different to traditional solutions like Terraform or the Cloud Provider specific solutions (e.g. CloudFormation). The main focus will be on deploying your services on top of Kubernetes. The talk will contain a little theory part about Pulumi, the rest of the talk is more focused on demos and practical parts. One focus of the talk is the difference of Pulumi to kubectl and helm (or to be precise how they complement each other.
As a takeaway of this talk you should understand the basics of Pulumi and know what are the differences to the traditional deployment tools.
Event: CNCF Meetup Hamburg & Stuttgart, 29.10.2018 & 07.11.2018
Speaker: Johannes M. Scheuermann, inovex
Mehr Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Mehr Tech-Artikel: https://www.inovex.de/blog/
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Analyse und Evaluierung von Parameterabhängigkeiten anhand der Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern
1. Analyse und Evaluierung von Parameterabhängigkeiten anhand der
Laufzeit von MapReduce-Jobs zur Konzeptionierung von Hadoop-Clustern
!
!
Waldemar Reger
Köln, 23.07.2014
3. ‣ Open-Source Framework unter Apache Lizenz
‣ Besteht aus den Kernkomponenten HDFS und MapReduce
‣ Weitere Komponenten können zusätzlich verwendet werden (Hive, HBase, Pig, …)
3
Hadoop Grundlagen
Hadoop
4. ‣ Hochverfügbares Dateisystem
‣ Redundante Speicherung von großen Datenmengen auf allen Cluster Nodes
‣ Blockweise Speicherung
‣ Master-Slave Architektur (siehe nächste Folie)
4
Hadoop Grundlagen
HDFS
5. ‣ Programmiermodell zur Verarbeitung von großen, strukturierten und
unstrukturierten Daten
‣ Parallele Ausführung durch Aufteilung der Berechnung auf mehrere Nodes
‣ Master-Slave Architektur
‣ 1 Job-Tracker, mehrere Task-Tracker
5
Hadoop Grundlagen
MapReduce Teil 1
6. ‣ Besteht aus der Map- und Reduce-Funktion (map() und reduce())
‣ Aufteilung in Map- und Reduce-Phase
‣ map() und reduce() sind individuell programmierbar -> Rest erledigt das
Framework
‣ Map-Phase liest Daten (Schlüssel-/Wert-Paare) ein und sortiert vor
‣ Reduce-Phase aggregiert über die Ergebnisse der Map-Phase und speichert das
Ergebnis im HDFS
6
Hadoop Grundlagen
MapReduce Teil 2
7. ‣ Reduce-Phase kann während der Ausführung der Map-Phase beginnen
‣ Pro Node werden für die Verarbeitung von Tasks Slots zur Verfügung gestellt
‣ Slots sind in Map-Slots und Reduce-Slots fest definiert
‣ Optimales Slot-Verhältnis pro Cluster: 2/3 Map-Slots und 1/3 Reduce-Slots
7
Hadoop Grundlagen
MapReduce Teil 3
9. ‣ Benötigte Informationen (Eingabe)
‣ Vorhandenes Datenvolumen
‣ Hinzukommendes Datenvolumen pro Zeiteinheit (z.B. TB/Monat)
‣ Replikationsfaktor
‣ Zeitraum für die Verwendung des Clusters (z.B. 48 Monate)
‣ Ausgabe:
‣ Gesamtes Datenvolumen für den Verwendungszeitraum
‣ Vorrangig:
‣ Speicherung des gesamten Datenvolumens
9
Cluster Berechnungsarten
Nach dem Datenvolumen
10. ‣ Benötigte Informationen (Eingabe):
‣ Geplante MapReduce-Job Verarbeitungszeit
‣ Zu verarbeitende Datengröße
‣ Anzahl vorhandener MapReduce-Slots
‣ Art des MapReduce-Jobs (nicht in der Arbeit berücksichtigt!)
‣ Ausgabe:
‣ Anzahl erfolgreicher Nodes
‣ Berechnung der Bearbeitungszeit hängt auch von der Hardwarekonfiguration ab
10
Cluster Berechnungsarten
Über die MapReduce-Job Laufzeit
11. ‣ Manuelle Berechnung der Clustergröße (Anzahl benötigter Nodes) für die
Speicherung der Daten
‣ Keine genaue Aussage über die Laufzeit von MapReduce-Jobs möglich
‣ Berechnung basiert auf Erfahrungen aus vergangenen Projekten
‣ dadurch: sehr ungenaue und kostenintensive Planungsphase
‣ Zeitintensive und mühselige Planung von Hadoop Clustern
11
Ausgangslage
12. ‣ Einflussnehmende Cluster Parameter definieren
‣ Parameterabhängigkeiten analysieren
‣ Ziel: Planung und Dimensionierung von Hadoop-Clustern
‣ Schnelle und einfache Bestimmung der Clustergröße
‣ Berechnung über das zu speichernde Datenvolumen
‣ Berechnung über die Vorhersage von MapReduce-Laufzeiten
‣ Integration der Ergebnisse in eine Applikation für die Berechnung von Hadoop-
Clustern
‣ Hier: Parameterabhängigkeiten für die Berechnung eines Clusters über die
MapReduce-Job Laufzeit analysieren
12
Aufgabenstellung
13. ‣ Viele Abhängigkeiten -> Erhöhung der Komplexität
‣ Art des MapReduce-Jobs (IO- / Speicherintensiv)
‣ Individuelle Programmierung der map()- und reduce()-Funktion
‣ Hardware Konfiguration (CPU, RAM, HDD Größe, Anzahl HDDs, …)
‣ Anzahl verwendeter Nodes
‣ Zu verarbeitende Datenmenge
‣ Anzahl gleichzeitig ausgeführter MapReduce-Jobs
‣ Parameter beeinflussen sich gegenseitig
13
Herausforderung
Parameterabhängigkeiten für die Laufzeitbestimmung
14. ‣ Beschränkung der zu analysierenden Parameter
‣ Hardware Konfiguration (allgemein)
‣ Anzahl Nodes pro Cluster
‣ Zu verarbeitende Datenmenge (Input Datengröße)
‣ Anzahl Map- und Reduce-Slots
14
Versuchsumgebung
Parameter für die Abhängigkeitsanalyse
15. ‣ Amazon Elastic MapReduce (EMR) Cluster (Bestehend aus Amazon EC2
Instanzen)
‣ 3 unterschiedliche Hardware Konfigurationen
!
!
!
!
!
‣ Amazon S3 als Quelle für den Dateninput
15
Versuchsumgebung
Verwendete Cluster Hardware
16. ‣ Hadoop Version 1 (HDFS + MapReduce)
‣ Version 0.20.205
‣ Standard Amazon EMR Konfiguration
‣ Blockgröße: 64 MB
‣ Standard MapReduce-Job: TeraSort
‣ Generierung der Daten mit Hilfe von TeraGen
16
Versuchsumgebung
Verwendete Software
17. ‣ Unterteilung der Versuche in 3 Hardware Konfigurationen
‣ Pro Hardware Konfiguration:
‣ Clustergröße von 3, 6 und 12 Nodes (Slave-Nodes)
‣ 1, 5 und 10 GB Input-Datengrößen
‣ Pro Versuchsdurchlauf unterschiedliche MapReduce-Slot Konstellation
‣ 1 Reducer-Slot und Rest Map-Slots
‣ 2/3 Map-Slots und 1/3 Reduce-Slots
‣ Map- und Reduce-Slots im Verhältnis 50:50
17
Vorgehensweise
Versuchsaufbau
19. ‣ Analyse der Messergebnisse mit unterschiedlicher Hardware Konfiguration
‣ Andere Parameter bleiben unverändert
‣ Vergleich der MapReduce-Job Laufzeit bei:
‣ Hardware 1 mit Hardware 2
‣ Hardware 2 mit Hardware 3
‣ Ergebnis:
‣ HW1 mit HW2: Laufzeit halbiert
‣ HW2 mit HW3: Laufzeit halbiert
‣ Begründung: Verdoppelung der CPU-Cores pro Hardware Konfiguration
19
Analyse der Parameterabhängigkeiten
Parameter: Unterschiedliche Hardware Konfiguration
20. ‣ Analyse der Messergebnisse mit unterschiedlicher Anzahl Nodes
‣ Andere Parameter bleiben unverändert
‣ Analyse der Laufzeit durch:
‣ Verdoppelung der Nodeanzahl:
‣ Laufzeit mit 3 Nodes und mit 6 Nodes
‣ Laufzeit mit 6 Nodes und mit 12 Nodes
‣ Ergebnis:
‣ Doppelte Anzahl Nodes -> Halbierung der MapReduce-Job Laufzeit
‣ Begründung: Anzahl der Map- und Reduce-Slots wird durch die Anzahl Nodes
auch verdoppelt
20
Analyse der Parameterabhängigkeiten
Parameter: Anzahl Nodes
22. ‣ Analyse der Messergebnisse mit unterschiedlicher Input Datengröße
‣ Andere Parameter bleiben unverändert
‣ Analyse der Laufzeit durch:
‣ Laufzeit bei Input Datengrößen 1GB und 5GB (+ Zwischengrößen 2, 3, 4 und
8GB bei Hardware Konfiguration 1)
‣ Laufzeit bei Input Datengrößen 5GB und 10GB
‣ Ergebnis:
‣ HW1: Verdoppelung der Input Datengröße -> Verdoppelung der Laufzeit
‣ HW2 und HW3: Verdoppelung der Input-Datengröße -> Laufzeit 1,5x höher
22
Analyse der Parameterabhängigkeiten
Parameter: Input Datengröße
23. ‣ Messergerbnisse in einer Formel zusammengefasst
‣ Ermöglicht das einfache Berechnen von:
‣ MapReduce-Job Laufzeiten
‣ Benötigter Nodes
‣ Input Datengröße
‣ Formel wurde im Praxistest bestätigt
23
Analyse der Parameterabhängigkeiten
Zusammenfassung für HW1
24. ‣ Berechnung der benötigten Anzahl Nodes für:
‣ Berechnung des Datenvolumens für den Nutzungszeitraum
‣ Berechnung der MapReduce-Job Laufzeit
24
Applikation zur Berechnung von Clustern