Connect with us

Künstliche Intelligenz

IT-Modernisierung: Unternehmen müssen ihren Legacy-Anwendungen zu Leibe rücken


In deutschen Firmen herrscht dringender IT-Modernisierungsbedarf, wie aus einer Studie der Beratungsgesellschaft Lünendonk hervorgeht. Demnach haben 62 Prozent der befragten Unternehmen angegeben, dass Teile ihrer geschäftskritischen Anwendungen bereits so veraltet sind, dass sie nicht mehr heutigen Anforderungen entsprechen und erneuert werden müssen. Bei der Hälfte seien auch Betrieb, Pflege und Weiterentwicklung der Altsysteme mittel- und langfristig nicht sichergestellt. Etwas über drei Viertel gehen davon aus, dass mindestens 20 Prozent aller geschäftskritischen Kernapplikationen in den nächsten fünf Jahren Modernisierungsbedarf haben.

Entsprechend planen 83 Prozent der Unternehmen, ihr IT-Modernisierungsbudget im Jahr 2026 zu erhöhen. Bei fast einem Fünftel soll das Budget um mehr als fünf Prozent steigen. Für die Studie hat Lünendonk eigenen Angaben nach über 150 IT- und Business-Verantwortliche mittelständischer und großer Unternehmen verschiedener Branchen befragt. Treiber für die steigenden Ausgaben sind vor allem steigende regulatorische Anforderungen an die Cybersicherheit, aber auch die Sorge vor Sicherheitsangriffen.



Vor allem Sicherheitsbedenken treiben die IT-Modernisierung an.

(Bild: Lünendonk)

Bei den Modernisierungsstrategien spielt wenig überraschend der Weg in die Cloud eine große Rolle. So wollen bis 2028 bereits neun von zehn befragten Unternehmen mehr IT-als 40 Prozent ihrer Anwendungen cloudbasiert betreiben. Aktuell täten das nur vier von zehn. Lünendonk geht davon aus, dass diese Verknüpfung verschiedener Betreibermodelle die IT-Landschaften zunehmend hybrider macht.

Dabei verfolgen die Unternehmen unterschiedliche Ansätze. 74 Prozent setzten auf Replatforming, also die Umstellung der Legacy-Anwendungen auf eine neue Plattform, 64 Prozent auf Refactoring. 72 Prozent wiederum wechselten komplett auf On-Premises- oder Private-Cloud-basierte Standardlösungen. Nur 47 Prozent entschieden sich für den Weg einer kompletten Neuentwicklung.

Software-as-a-Service (SaaS) kommt vorwiegend bei weniger kritischen Anwendungen infrage. Bei geschäftskritischen Anwendungen herrscht hier laut Lünendonk noch Skepsis vor. Insgesamt setzten 43 Prozent auf SaaS, um sich ihrer Legacy-Anwendungen zu entledigen.

Beim Bewältigen ihres Modernisierungsstaus setzen die Unternehmen auch große Hoffnungen auf KI – wobei es allerdings an praktischen Erfahrungen mangelt, wie hilfreich sie wirklich dabei ist. 74 Prozent erwarten demnach, dass KI in der Lage sein wird, Sicherheitslücken in Altsystemen aufzudecken und zumindest teilweise selbstständig zu beheben. 69 Prozent erhoffen sich außerdem ein besseres Verständnis der Programmier- und Codestrukturen. Allerdings verfügen nur acht Prozent der Unternehmen über fortgeschrittene Ansätze zur automatisierten Codeanalyse mittels KI. 22 Prozent nutzen KI immerhin bereits im Bereich der Dokumentation.


(axk)



Source link

Weiterlesen
Kommentar schreiben

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Künstliche Intelligenz

Software für Testmanagement in der Marktübersicht


Der Markt für Testmanagementtools ist eng verknüpft mit der Entwicklung moderner Softwareprojekte. Ob klassische Software- oder cloudnative Applikationsentwicklung: Die Anforderungen an Tests und Qualitätssicherung werden immer komplexer. Damit wächst auch der Anspruch an die Werkzeuge, die diese Prozesse unterstützen sollen. Applikationen sind dabei oft schlankere, nutzerorientierte Lösungen, die sich beispielsweise mobil oder webbasiert betreiben lassen. Für das Testmanagement spielt diese begriffliche Unterscheidung allerdings zunächst nur eine untergeordnete Rolle. Wichtiger ist die Frage, wie systematisch und umfassend getestet wird. Moderne Testmanagementlösungen setzen hier an und helfen, strukturierte Prozesse über verschiedene Entwicklungsansätze hinweg sicherzustellen.

Denn die Auswahl der passenden Teststrategie, der eingesetzten Tools und der nötigen Testtiefe richtet sich letztlich danach, wie komplex ein System ist und welche Anforderungen es erfüllen muss. Wer dabei ungenau arbeitet oder falsche Annahmen trifft, übersieht leicht kritische Aspekte in der Qualitätssicherung, sei es durch unzureichende Abdeckung, mangelnde Automatisierung oder fehlende Nachvollziehbarkeit.

  • Testmanagementwerkzeuge planen, steuern und dokumentieren Tests. Dabei ist Sicherheit zunehmend ein zu berücksichtigender Faktor.
  • Um den gestiegenen Anforderungen gerecht zu werden, müssen die Tools nicht nur funktionale, sondern auch nicht funktionale und sicherheitsrelevante Tests einbinden.
  • Anbieter, deren Testmanagementtools über Planungs- und Dokumentationsfunktionen hinausgehen und Entwicklung, Test, Compliance und Sicherheit vereinen, sind im Vorteil.


Waldemar Klassen

Waldemar Klassen

Waldemar Klassen ist Analyst bei der techconsult GmbH, einem Unternehmen der Heise Group, und beschäftigt sich mit den Themenfeldern IoT, Big Data, digitale Nachhaltigkeit (CSR/ESG) und SAP S/4HANA.

Weitere Faktoren treiben die Teststrategie und den Markt für Testmanagementtools voran: strengere regulatorische Sicherheitsanforderungen bei DevOps und DevSecOps, die weiter zunehmende Etablierung von Cloud-Technologien sowie der Einsatz dynamischer Containerumgebungen und KI. Alles zusammen führt einerseits zu einer wachsenden Anzahl von Anbietern auf dem Markt, andererseits etablieren sich gleichzeitig funktionale und spezialisierte Standards, die auf spezifische Entwicklungsszenarien und Umgebungen zugeschnitten sind.


Das war die Leseprobe unseres heise-Plus-Artikels „Software für Testmanagement in der Marktübersicht“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.



Source link

Weiterlesen

Künstliche Intelligenz

Künstliche Neuronale Netze im Überblick 2: Schichten und Feed-Forward-Netzwerke


Neuronale Netze sind der Motor vieler Anwendungen in Künstlicher Intelligenz (KI) und GenAI. Diese Artikelserie gibt einen Einblick in die einzelnen Elemente. Nach der Vorstellung der Neuronen im ersten Teil widmet sich der zweite Teil den Schichten des Netzwerks.


Michael Stal

Michael Stal

Prof. Dr. Michael Stal arbeitet seit 1991 bei Siemens Technology. Seine Forschungsschwerpunkte umfassen Softwarearchitekturen für große komplexe Systeme (Verteilte Systeme, Cloud Computing, IIoT), Eingebettte Systeme und Künstliche Intelligenz.

Er berät Geschäftsbereiche in Softwarearchitekturfragen und ist für die Architekturausbildung der Senior-Software-Architekten bei Siemens verantwortlich.

Wenn mehrere künstliche Neuronen so gruppiert sind, dass sie alle denselben Satz von Eingaben erhalten und ihre Ausgaben parallel erzeugen, bezeichnen wir diese Sammlung als Schicht. In einer einzelnen Schicht wendet jedes Neuron seinen eigenen Gewichtsvektor und seinen eigenen Bias-Term auf das eingehende Signal an, aber alle Neuronen teilen sich dieselbe Eingabe. Durch die Anordnung von Schichten in einer Reihenfolge erstellen wir ein Netzwerk, das einfache numerische Eingaben in beliebig reichhaltige Darstellungen umwandeln kann.

Mathematisch ausgedrückt: Wenn wir die Aktivierungen der Schicht ℓ−1 durch den Spaltenvektor aℓ−1 und die Gewichte der Schicht ℓ durch eine Matrix Wℓ bezeichnen, deren Zeilen die Gewichtsvektoren der einzelnen Neuronen sind, dann ergibt sich der Präaktivierungsvektor zℓ der Schicht ℓ aus dem Matrix-Vektor-Produkt:

zℓ = Wℓ · aℓ−1 + bℓ

Wobei bℓ der Bias-Vektor für die Schicht ℓ ist. Anschließend wenden wir eine elementweise nicht lineare Aktivierungsfunktion σ an, um die Ausgabe der Schicht zu erhalten:

aℓ = σ(zℓ)

Wenn wir einen Stapel von Eingaben einspeisen, stapeln wir einfach jede Eingabe als Spalte (oder Zeile, je nach Konvention) einer Matrix X und ersetzen die Vektoroperationen durch Matrixmultiplikationen auf dem Stapel, was zu einer hocheffizienten vektorisierten Berechnung führt.

Im Code lassen sich mit PyTorch auf einfache Weise Schichten und ihre Verbindungen ausdrücken. Die integrierte Klasse torch.nn.Linear kapselt sowohl die Gewichtsmatrix als auch den Bias-Vektor und verbindet sie für die automatische Differenziation mit dem Berechnungsgrafen. Nachfolgend finden Sie ein minimales Beispiel für ein kleines Feed-Forward-Netzwerk mit einer versteckten Schicht. Jede Zeile wird ausführlich erklärt.


import torch
import torch.nn as nn

class SimpleMLP(nn.Module):
    def __init__(self, input_dim, hidden_dim, output_dim):
        super(SimpleMLP, self).__init__()
        # Definieren Sie eine vollständig verbundene Schicht, die input_dim auf hidden_dim abbildet
        self.fc1 = nn.Linear(input_dim, hidden_dim)
        
        # Wählen Sie eine nichtlineare Aktivierungsfunktion für die versteckte Schicht
        self.relu = nn.ReLU()
        # Definieren Sie eine zweite vollständig verbundene Schicht, die hidden_dim auf output_dim abbildet
        self.fc2 = nn.Linear(hidden_dim, output_dim)

    def forward(self, x):
        # Wende die erste lineare Transformation an
        x = self.fc1(x)
        # Wende die nichtlineare Aktivierungsfunktion elementweise an
        x = self.relu(x)
        # Wende die zweite lineare Transformation an, um die Ausgabe zu erzeugen
        x = self.fc2(x)
        return x


Die Import-Anweisungen laden torch für Tensoroperationen und torch.nn als Namespace für Bausteine neuronaler Netze. Die Klasse SimpleMLP erbt von nn.Module, der Basisklasse von PyTorch für alle Komponenten neuronaler Netze. Der Aufruf von super(SimpleMLP, self).init()stellt sicher, dass die interne Maschinerie von Module ordnungsgemäß initialisiert wird.

Innerhalb des Konstruktors sind self.fc1 und self.fc2 Instanzen von nn.Linear. Jede Linearschicht weist eine Gewichtungsmatrix der Form (output_features, input_features) und einen Bias-Vektor der Länge output_features zu. Durch das Speichern dieser Schichten als Attribute des Moduls registriert PyTorch automatisch ihre Parameter, sodass wir beim Aufruf von model.parameters() alle Gewichtungs- und Bias-Tensoren in einem einzigen iterierbaren Objekt zurückgeben können.

Die Wahl von ReLU für self.relu spiegelt dessen weitverbreitete Verwendung wider: Die rektifizierte lineare Einheit gibt für jede negative Eingabe Null zurück und für jede nicht negative Eingabe die Eingabe selbst. Diese einfache, nicht lineare Operation führt die Nichtlinearität ein, die das Netzwerk benötigt, um komplexe Funktionen zu approximieren.

Die Vorwärtsmethode definiert die Transformation des Eingabetensors x, während er durch das Netzwerk fließt. Wenn x die Form (batch_size, input_dim) hat, hat er nach self.fc1(x) die Form (batch_size, hidden_dim) und behält nach Anwendung von ReLU die gleiche Form, wobei sich negative Werte auf Null abbilden. Der letzte Aufruf von self.fc2 erzeugt eine Ausgabe der Form (batch_size, output_dim). Durch die Rückgabe von x am Ende von forward ermöglichen wir es, das Netzwerk wie eine Funktion aufzurufen:


model = SimpleMLP(input_dim=10, hidden_dim=50, output_dim=1)
batch_of_inputs = torch.randn(32, 10)
outputs = model(batch_of_inputs)


In diesem Beispiel ist batch_of_inputs ein Tensor der Form (32, 10), der zweiunddreißig Samples mit jeweils zehn Merkmalen darstellt. Der Aufruf model(batch_of_inputs) ruft im Hintergrund forward auf, und outputs hat die Form (32, 1), sodass wir pro Sample eine Vorhersage erhalten.

Im Hintergrund erstellt PyTorch einen Berechnungsgraphen, der jede Operation – Matrixmultiplikationen, Additionen und Nichtlinearitäten – aufzeichnet, sodass bei der Berechnung eines Verlusts auf der Grundlage der Outputs und dem anschließenden Aufruf von loss.backward() sich die Gradienten aller Parameter in fc1 und fc2 automatisch berechnen lassen. Diese Gradienten lassen sich dann von Optimierern verwenden, um die Gewichtungsmatrizen und Bias-Vektoren zu aktualisieren.

Durch das Stapeln weiterer Schichten – beispielsweise durch mehrmaliges Abwechseln von linearen und Aktivierungsschichten – und durch Variieren der versteckten Dimensionen lassen sich tiefere und breitere Netzwerke erstellen, die hochkomplexe Zuordnungen lernen können.

Der nächste Teil der Serie zeigt, wie die gebatchten, vektorisierten Operationen den Vorwärtslauf in seiner Allgemeinheit bilden und wie die Wahl der Aktivierungen mit der Netzwerktiefe zusammenwirkt.


(rme)



Source link

Weiterlesen

Künstliche Intelligenz

Video Overviews: Google bringt KI-Visualisierungen in NotebookLM


Googles Audio Overviews sind ein Recherche-Werkzeug, bei dem Informationen als eine Art Podcast aufbereitet werden. Nun wird das um visuelle Inhalte erweitert. Die Video Overviews kommen zunächst als Präsentationen, in denen Bilder, Diagramme, Illustrationen und mehr enthalten sind. Google spricht von kommentierten Folien.

Zu nutzen ist Video Overviews wie auch die Audio Overviews via NotebookLM – das ist Google Notiz-App. Die KI ist quasi ein Gastgeber, der Inhalte für den Nutzer aufbereitet. Wahlweise macht er das, indem er Informationen zu einem vorgegebenen Thema als Podcast aufbereitet oder nun eben als Präsentation. Grundlage sind eigens ausgewählte Quellen. Diese legt man in einem Notizbuch an. Daraufhin kann man auswählen, was die KI damit machen soll. Neben Audio und Video Overviews gibt es etwa auch Mindmaps, einen Zeitstrahl und FAQs, die erstellt werden können.

Obwohl der neue Modus Video Overviews heißt, gibt es noch keine KI-generierten Videos. Auf KI-Dokus zum Binge-Watchen muss man also noch eine Weile verzichten. Google verspricht jedoch, dass die Präsentationen nur ein erster Schritt seien.

Auch die Video Overviews lassen sich wie die Audio Overviews anpassen. Themen können konkretisiert, Lernziele festgehalten werden. Es gibt die Möglichkeit, eine Zielgruppe zu bestimmen. Dazu gehört auch, dass man den eigenen Wissensstand vorgeben kann und die Inhalte sowie Erklärungen an diesen angepasst werden. Somit dienen die Overviews in der Regel als Lernhilfe. Erstellte Overviews können mittels eines öffentlichen Links geteilt werden. Nun kann man unterschiedliche Berechtigungen festlegen, um gemeinsam an einem Notizbuch zu arbeiten.

Lesen Sie auch

Neu ist auch, dass man mehrere Outputs derselben Art innerhalb eines Notizbuchs anlegen kann. Zudem lassen sich Audio Overviews anhören, während man an einem Projekt arbeitet. Bisher ging das nicht gleichzeitig.

Zunächst sind die Video Overviews nur auf Englisch verfügbar, weitere Sprachen sollen bald folgen, schreibt Google im Blogbeitrag.


(emw)



Source link

Weiterlesen

Beliebt