<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Maschinelles Lernen |</title><link>https://clementgodbarge.com/de/tag/maschinelles-lernen/</link><atom:link href="https://clementgodbarge.com/de/tag/maschinelles-lernen/index.xml" rel="self" type="application/rss+xml"/><description>Maschinelles Lernen</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>de-de</language><lastBuildDate>Mon, 22 Nov 2021 18:15:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>Maschinelles Lernen</title><link>https://clementgodbarge.com/de/tag/maschinelles-lernen/</link></image><item><title>Auszeichnung automatisieren in digitalen wissenschaftlichen Editionen</title><link>https://clementgodbarge.com/de/post/gpt3/</link><pubDate>Mon, 22 Nov 2021 18:15:00 +0000</pubDate><guid>https://clementgodbarge.com/de/post/gpt3/</guid><description>&lt;h1 id="einleitung"&gt;Einleitung&lt;/h1&gt;
&lt;p&gt;Wie bringt man eine digitale wissenschaftliche Edition zustande, ohne sich zu ruinieren? Dieser Beitrag eröffnet eine Reihe zum effizienten Edieren; ich prüfe darin, was vortrainierte Sprachmodelle leisten können, wenn es darum geht, editorische Routinearbeiten wie die semantische Auszeichnung zu automatisieren.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;Inhaltsverzeichnis&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#ein-werk-der-liebe"&gt;Ein Werk der Liebe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#eine-hohe-schwelle"&gt;Eine hohe Schwelle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#transformer-der-kürzeste-weg-zur-automatisierung"&gt;Transformer: der kürzeste Weg zur Automatisierung?&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#codex"&gt;Codex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#jenseits-von-openai"&gt;Jenseits von OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#experiment-1--textkategorisierung"&gt;Experiment 1 – Textkategorisierung&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#prompt-engineering"&gt;Prompt-Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#test"&gt;Test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ergebnis"&gt;Ergebnis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#experiment-2--semantische-auszeichnung"&gt;Experiment 2 – Semantische Auszeichnung&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#prompt-engineering-1"&gt;Prompt-Engineering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#test-1"&gt;Test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h1 id="das-problem"&gt;Das Problem&lt;/h1&gt;
&lt;h2 id="ein-werk-der-liebe"&gt;Ein Werk der Liebe&lt;/h2&gt;
&lt;p&gt;Wo die Liebe hinfällt, fragt niemand nach dem Preis – so jedenfalls will es das alte Sprichwort. Auf digitale wissenschaftliche Editionen trifft das in besonderem Maße zu: Transkription, Übersetzung und Annotation verschlingen Tausende von Arbeitsstunden, die – wie bei
– von Hunderten hochqualifizierter Mitarbeiterinnen und Mitarbeiter geleistet werden.&lt;/p&gt;
&lt;p&gt;In gewisser Weise ist es ein Segen, dass Vorzeigeprojekte der Digital Humanities die gewaltigen Summen einwerben können, die ihr Betrieb verlangt. Doch wer sich derart auf die Großzügigkeit reicher Stiftungen, Universitäten und Behörden verlässt und über Jahre hinweg viel Personal binden muss, hat kein Wirtschaftsmodell, das die Zukunft trägt.&lt;/p&gt;
&lt;p&gt;Wollen wir Forschende in aller Welt ermutigen, historische Dokumente einem breiteren Publikum zu erschließen, dann
&lt;mark&gt;müssen die Kosten digitaler kritischer Editionen um Größenordnungen sinken&lt;/mark&gt;
.&lt;/p&gt;
&lt;h2 id="eine-hohe-schwelle"&gt;Eine hohe Schwelle&lt;/h2&gt;
&lt;p&gt;Paradoxerweise
&lt;mark&gt;könnte die Lösung ausgerechnet von arbeitsintensiven Unternehmungen wie
kommen, denn sie liefern einen wertvollen Trainingsdatensatz&lt;/mark&gt;
, mit dem sich einige der sprödesten und eintönigsten Arbeiten des digitalen Edierens automatisieren lassen – etwa die Auszeichnung.&lt;/p&gt;
&lt;p&gt;Nicht, dass die Auszeichnung nebensächlich wäre; im Gegenteil:
&lt;mark&gt;Markup ist heute der unverzichtbare Bestandteil jedes ernstzunehmenden digitalen Editionsvorhabens.&lt;/mark&gt;
Normiert durch die
, erlaubt es, möglichst viele Eigenschaften des Dokuments und des Textes, den es überliefert, festzuhalten – Struktur, Marginalien, Streichungen, Varianten, Papiersorte, Flecken, Schriftbild … ganz nach Belieben.&lt;/p&gt;
&lt;p&gt;Das folgende Beispiel aus
zeigt, wie die Auszeichnung den Text mit Zusatzinformation anreichert (Kategorie, Struktur, semantische Felder, Streichungen usw.) – und der digitalen Edition damit einen handfesten Vorsprung vor ihren gedruckten Vorfahren verschafft.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Reiner Text &lt;/th&gt;
&lt;th&gt; XML-Markup&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Pour rompre grenades et donner
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux artifices de foeu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mects parmy la pouldre et la sixiesme
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;partye dicelle de vif argent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;p008r_2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;categories=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;arms and armor&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;Pour rompre &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;grenades&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; et donner&lt;span class="nt"&gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;artifices de foeu&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;ab&amp;gt;&lt;/span&gt;Mects parmy la &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;pouldre&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&amp;lt;ms&amp;gt;&lt;/span&gt;six fois autant&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt; de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/del&amp;gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&lt;/span&gt;et&lt;span class="nt"&gt;&amp;lt;/del&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;ms&amp;gt;&lt;/span&gt;la sixiesme partye&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dicelle de &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/ab&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Wertvoll ist diese Information für die Archivierung, aber ebenso – wie ich andernorts gezeigt habe – für Synthese und Analyse. Nur ist eine solche Annotation eben ungeheuer zeitraubend, zumal derselbe Text häufig in mehreren Gestalten vorliegen muss: als Übersetzung, als Transkription, als modernisierte Fassung und so fort.&lt;/p&gt;
&lt;h1 id="die-lösung"&gt;Die Lösung&lt;/h1&gt;
&lt;h2 id="transformer-der-kürzeste-weg-zur-automatisierung"&gt;Transformer: der kürzeste Weg zur Automatisierung?&lt;/h2&gt;
&lt;p&gt;2020 stellte
mit großem Getöse seine neueste Familie universell einsetzbarer großer Sprachmodelle vor: GPT-3, ausgeschrieben „Generative Pre-trained Transformer 3“. Transformer sind ein noch recht junger Durchbruch der Künstlichen Intelligenz. Sie lernen neue Aufgaben verblüffend schnell – es genügt, ihnen eine Anweisung (den Prompt) und eine Handvoll Beispiele vorzulegen. Zudem lassen sie sich mit einem eigens zusammengestellten Datensatz nachtrainieren (Fine-Tuning), was Antwortzeit und Treffsicherheit verbessert. Deshalb spricht man bei GPT-3 und verwandten Transformern von
.&lt;/p&gt;
&lt;p&gt;Nach Angaben von OpenAI umfasst GPT-3 die Rekordzahl von 175 Milliarden Parametern und wurde mit über 570 GB Text trainiert, überwiegend englischsprachigen Dokumenten, die vermutlich aus
stammen. Allein kraft seiner Größe hat GPT-3 in diesem Feld neue Maßstäbe gesetzt: Es erledigt ohne jede Anpassung die verschiedensten Aufgaben mit einem Realismus, der einen beunruhigen kann. Es schreibt glaubwürdige
,
in Chatrooms,
,
, übersetzt Dokumente, erklärt Fachjargon und dergleichen mehr.&lt;/p&gt;
&lt;p&gt;Seit Mai 2021 habe ich frühen Zugang zur API von OpenAI und konnte seither ausprobieren, wie das Modell mit Aufgaben zurechtkommt, die als notorisch schwierig gelten: französische Lyrik und neulateinische Texte ins Englische übersetzen, Analogien erläutern, ja sogar den vierten Abschnitt von Kants &lt;em&gt;Grundlegung zur Metaphysik der Sitten&lt;/em&gt; für ein siebenjähriges Kind herunterbrechen (wenn auch wenig überzeugend).&lt;/p&gt;
&lt;h3 id="codex"&gt;Codex&lt;/h3&gt;
&lt;p&gt;Eine der jüngsten Ausprägungen von GPT-3 hat es auf Programmiersprachen abgesehen. Das Modell heißt &lt;em&gt;Codex&lt;/em&gt; und übersetzt natürliche Sprache in Programmcode und umgekehrt. Suche ich etwa einen regulären Ausdruck, der „nur Wörter findet, die mit einem Großbuchstaben beginnen“, so liefert GPT-3 prompt einen funktionierenden: &lt;code&gt;[A-Z]+\w+&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Laut OpenAI beherrscht &lt;em&gt;Codex&lt;/em&gt; ein Dutzend Programmiersprachen, darunter Python, JavaScript, Go, Perl, PHP, Ruby und Swift. Weil es Pseudocode reibungslos in Code verwandelt, kann man sich statt auf die pedantische Syntax einer Programmiersprache auf das konzentrieren, worauf es ankommt: die logischen Schritte und Strategien, mit denen ein Programm ein Problem löst.&lt;/p&gt;
&lt;h3 id="jenseits-von-openai"&gt;Jenseits von OpenAI&lt;/h3&gt;
&lt;p&gt;OpenAI ist freilich nicht der einzige Mitspieler. Wie erwähnt, kündigte die Beijing Academy of Artificial Intelligence 2021 mit &lt;em&gt;Wu Dao 2&lt;/em&gt; ein noch größeres und leistungsfähigeres Modell an. Nvidia und Microsoft taten sich für das treffend benannte &lt;em&gt;Megatron-Turing NLG 530B&lt;/em&gt; zusammen. Kleinere Start-ups wie
und
bieten der Öffentlichkeit ebenfalls APIs an, und auch Open-Source-Initiativen wie
verdienen Erwähnung. Die KI-Szene ist natürlich in rasender Bewegung; wer auf dem Laufenden bleiben will, sollte einen Blick auf
werfen.&lt;/p&gt;
&lt;h1 id="die-experimente"&gt;Die Experimente&lt;/h1&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Hinweis&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Ziel dieser Experimente ist es, den sparsamsten Weg zu einer verlässlichen Automatisierung editorischer Aufgaben zu finden. Man könnte einwenden, dass sich manche davon auch mit Verfahren des überwachten Lernens automatisieren ließen. Dieser Hypothese gehen wir in einem späteren Beitrag nach.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Kann ein Transformer wie GPT-3 lernen, etwa eine technisch-naturwissenschaftliche Handschrift des 16. Jahrhunderts zu annotieren?&lt;/p&gt;
&lt;h2 id="experiment-1--textkategorisierung"&gt;Experiment 1 – Textkategorisierung&lt;/h2&gt;
&lt;p&gt;Beginnen wir mit etwas vergleichsweise Einfachem. Als „Few-Shot-Learner“ sollte GPT-3 rasch durchschauen, nach welchem Schema unser Herausgeberteam die Einträge von Ms. Fr. 640 klassifiziert hat.&lt;/p&gt;
&lt;h3 id="prompt-engineering"&gt;Prompt-Engineering&lt;/h3&gt;
&lt;p&gt;Zum Anlernen begnügte ich mich mit einem denkbar knappen Prompt und vier kurzen Einträgen im Reintext als Beispielen, darunter je einer zu „Medizin“, „Waffen und Rüstungen“ und „Malerei“.&lt;/p&gt;
&lt;h3 id="test"&gt;Test&lt;/h3&gt;
&lt;p&gt;Anschließend kopierte ich eine weitere Passage hinein, die in der ursprünglichen Folge nicht enthalten war:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Working neatly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Never put down, if you can, two colors one on top of the other.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;But next, having made your design carefully, keep the place of shadows for them alone,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;amp; also separately that of lights &amp;amp; highlights, without layering one color all over &amp;amp; then highlighting or else shading on it.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;And in this way, you further your work, economize your colors &amp;amp; work neatly.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which is the reason that, the colors not being muddled nor mixed together, they do not die &amp;amp; you soften the colors better, since they are not so thick.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die Ausgabe passt vollkommen zum Inhalt:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;painting&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nimmt man einen Eintrag aus einer Kategorie, die in der Auswahl der Trainingstexte gar nicht vorkam, überrascht das Ergebnis.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;jewelry&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ergebnis"&gt;Ergebnis&lt;/h3&gt;
&lt;p&gt;Eine Kategorie „jewelry“ (Schmuck) gibt es in unserer Edition von Ms. Fr. 640 nicht; das Herausgeberteam
die weiter gefasste Rubrik „Stones“ (Steine). Der Instinkt von GPT-3 ist gleichwohl richtig, und das lässt erwarten, dass es mit ein wenig mehr Training jeden Eintrag von Ms. Fr. 640 einordnen könnte – womöglich sogar Einträge vergleichbarer technischer Texte des 16. Jahrhunderts.&lt;/p&gt;
&lt;h2 id="experiment-2--semantische-auszeichnung"&gt;Experiment 2 – Semantische Auszeichnung&lt;/h2&gt;
&lt;p&gt;Legen wir die Latte etwas höher. Wenn Transformer wie GPT-3 lernen können, Texte nach bestimmten editorischen Kriterien zu klassifizieren – erkennen sie dann auch einen Teil der Auszeichnung im Text?&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;Hinweis&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;&lt;em&gt;Secrets of Craft and Nature&lt;/em&gt; verwendet eine
aus semantischen und strukturellen Labels. Leider verarbeitet GPT-3 keine Bilder, anders als etwa
. Künftige Versionen von GPT werden diese Fähigkeit wahrscheinlich mitbringen; ohne sie lassen sich die meisten strukturellen und materiellen Merkmale eines Dokuments nicht erkennen. Wir übergehen diese Tags daher und wenden uns der Auszeichnung zu, die ohne Bilderkennung auskommt.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="prompt-engineering-1"&gt;Prompt-Engineering&lt;/h3&gt;
&lt;p&gt;Semantische Tags erfassen unter anderem Tiere, Pflanzen, Ortsnamen und Sinneseindrücke. Für den Trainingsprompt griff ich einige Beispiele aus der Edition heraus:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Input prompt--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The following is a list of words and their corresponding semantic tags
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannons: &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannons&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;flasks: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;flasks&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wooden: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wooden&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iron: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;iron&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;parchment: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;parchment&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;goats: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;goats&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lambs: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;lambs&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;leather: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;leather&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fine fatty earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;fine fatty earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Venice: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Venice&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Flemish: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Flemish&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond: &lt;span class="nt"&gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnuts skin: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnuts&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; skin&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;molten lead: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;molten lead&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;today: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;today&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;In the past: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;In the past&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Clockmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Clockmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;red copper: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;red copper&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;crucible: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;crucible&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bellows: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;bellows&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;charcoal: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;charcoal&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;founders: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;founders&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="test-1"&gt;Test&lt;/h3&gt;
&lt;p&gt;Versuchen wir es mit dem Modell &lt;code&gt;Davinci-codex&lt;/code&gt; und ein paar leichten Wörtern: &lt;em&gt;Apothecary&lt;/em&gt; (Apotheker), &lt;em&gt;smoke&lt;/em&gt; (Rauch), &lt;em&gt;glassmakers&lt;/em&gt; (Glasmacher), &lt;em&gt;latten&lt;/em&gt; (Messingblech) und &lt;em&gt;snake&lt;/em&gt; (Schlange). Die Antwort kommt sofort, und sie ist fehlerfrei:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apothecary: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Apothecary&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;smoke: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;smoke&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glassmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;glassmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;latten: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;latten&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snake: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;snake&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Schwieriger wird es mit zusammengesetzten Ausdrücken wie &lt;em&gt;copper plates&lt;/em&gt; (Kupferplatten), &lt;em&gt;walnut oil&lt;/em&gt; (Walnussöl) und &lt;em&gt;wood block&lt;/em&gt; (Holzblock). Hier soll sich zeigen, ob GPT-3 mit verschachtelten Tags zurechtkommt.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;copper plates: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;copper plates&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnut oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnut&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wood block: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wood block&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das Ergebnis ist durchwachsen: &lt;code&gt;Davinci-codex&lt;/code&gt; hat nur &lt;em&gt;walnut oil&lt;/em&gt; korrekt ausgezeichnet und die verschachtelten Tags &lt;code&gt;tl&lt;/code&gt; und &lt;code&gt;m&lt;/code&gt; in &lt;em&gt;copper plates&lt;/em&gt; und &lt;em&gt;wood block&lt;/em&gt; übersehen. Wie der nächste Test zeigt, lassen sich solche Fehler indes mit einem besseren Trainingsprompt eindämmen. Nachdem ich fünf weitere Beispiele für verschachtelte Tags ergänzt hatte, lieferte &lt;code&gt;Davinci-codex&lt;/code&gt; ein nahezu makelloses Ergebnis mit einem einzigen Fehler (&lt;em&gt;oil paintbrushes&lt;/em&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannon powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannon&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;arquebus powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;arquebus&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;oil paintbrushes: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;oil&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; paintbrushes&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sheep footbones: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;sheep&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; footbones&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bronze mortar: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&amp;lt;m&amp;gt;&lt;/span&gt;bronze&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt; mortar&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="fazit"&gt;Fazit&lt;/h1&gt;
&lt;p&gt;Vergessen wir nicht, dass diese Tests mit kleinen Textstücken gemacht wurden. Ich vermute, dass GPT-3-Modelle noch besser abschneiden, wenn Beispiele und Prompt mehr Kontext bieten; und ein Fine-Tuning mit eigens angelegten Trainingsdaten würde die Treffsicherheit der Auszeichnung zweifellos weiter erhöhen.&lt;br&gt;
Gewiss müssten diese Versuche in größerem Maßstab wiederholt werden, um die Verlässlichkeit vortrainierter Sprachmodelle nachzuweisen. Festhalten lässt sich aber schon jetzt, dass
&lt;mark&gt;dieser Ansatz Editorinnen und Editoren erlaubt, mehrere Annotationsaufgaben in wenigen einfachen Schritten zu automatisieren – und dabei womöglich enorm viel Zeit und Geld zu sparen.&lt;/mark&gt;
&lt;/p&gt;</description></item></channel></rss>