AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ChatGPT - Wow! (Cron-Job)

Ein Thema von hschmid67 · begonnen am 3. Jul 2024 · letzter Beitrag vom 10. Jul 2024
Antwort Antwort
Seite 3 von 4     123 4   
Rollo62

Registriert seit: 15. Mär 2007
3.969 Beiträge
 
Delphi 12 Athens
 
#21

AW: ChatGPT - Wow! (Cron-Job)

  Alt 7. Jul 2024, 13:38
Das meine ich, es kommt sehr wahrscheinlich jedes Mal etwas anderes raus.
"Kopieren" definiere ich anders, aber das müssen die Rechtsgelehrten entscheiden.

Nimmt man mal das Beispiel Studenten / Professor, dann müsste ja auch jeder Professor seine Studenten permanent verklagen, weil die ihm sein "geistiges Eigentum" in den Vorlesungen stehlen.
Egal ob die nun daraus was komplett neues, nobelpreisreifes Entwickeln, oder wirklich nur platt plagiieren.
Ich könnte auch fragen woher der Professor denn sein "geistiges Eigentum" eigentlich bekommen hat.

Wie man so schön sagt: "Wir stehen alle auf den Schultern von Riesen", die LLMs eben auch.

Gut dass ich so einen Rechtsstreit nicht entscheiden muss, ich hoffe nur, dass die Richter dann wenigstens tief in der technischen Materie sind und sich nicht von Lobbyisten einlullen lassen.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#22

AW: ChatGPT - Wow! (Cron-Job)

  Alt 7. Jul 2024, 15:16
Zitat:
Das meine ich, es kommt sehr wahrscheinlich jedes Mal etwas anderes raus.
Wenn was anderes rauskommt, dann ist das auch wieder was anderes und unterliegt nicht dem Urheberrecht (USA ist da aber etwas anders).
Achtung: Bin kein Informatiker sondern komme vom Bau.
  Mit Zitat antworten Zitat
fisipjm

Registriert seit: 28. Okt 2013
275 Beiträge
 
#23

AW: ChatGPT - Wow! (Cron-Job)

  Alt 8. Jul 2024, 07:02
Da fragt man sich dann natürlich, woher ChatGPT diesen Code geklaut hat, denn selbst produzieren kann es ja nicht.
Das ist meines Wissens nicht ganz richtig. LLMs werden ja oft als "stochastischer Papagei" bezeichnet, weil sie statistisch kontextbezogen das wahrscheinlichste nächste Wort ermitteln. Natürlich kann ChatGPT keine gänzlich neuen Erkenntnisse gewinnen, ist aber durchaus in der Lage, aus einer großen vorhandenen Datenmenge Zusammenhänge zu ziehen, die noch niemand an irgendeiner anderen Stelle formuliert hat bzw. zum Anlernen verwendet hat. (So kommen ja auch die Halluzinationen von Methoden/Funktionen/Prozeduren zustande, die es in Delphi gar nicht gibt). Der große Vorteil bei Fragen zur Programmierung ist, dass Programmieren im Grundsatz nichts anderes ist als eine andere Sprache. Sie folgt einer "Grammatik", "Syntax" und hat einen vordefinierten "Satzaufbau". Und in Sprachen sind LLMs, der Natur der Sache geschuldet, extrem gut. Deshalb kann ich mir schon vorstellen, dass dieser Code so noch nicht irgendwo kursiert.

ChatGPT kann ja beispielsweise auch PDF-Dokumente lesen. Gib ihm ein PDF mit einem selbst definierten Standard oder einer Beschreibung für den Aufbau einer Syntax für ein eigenes Dokumentenformat und bitte ihn, dafür in Delphi einen Parser zu schreiben. Das wird genau so funktionieren, obwohl diesen Standard vorher noch keiner zu Gesicht bekommen hat.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.969 Beiträge
 
Delphi 12 Athens
 
#24

AW: ChatGPT - Wow! (Cron-Job)

  Alt 8. Jul 2024, 07:07
Genau, ich finde man muss das "Training" von KI im Sinne von "Lernen" verstehen und auch so behandeln.
Wenn man das als "Kopieren" definieren möchte, dann "kopieren" halt auch alle Schüler.
Wahrscheinlich fehlt noch ein genauer Begriff dafür, denn philosophisch und rechtlich ist das Training einer KI im Zusammenhang mit menschlichem Lernen noch nicht wirklich abgegrenzt.
  Mit Zitat antworten Zitat
bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#25

AW: ChatGPT - Wow! (Cron-Job)

  Alt 9. Jul 2024, 22:28
Da hier einige den Grundschüler (ChatGPT) eher positiv aussehen lassen und mein geschätzter Professor (Claude) eher negativ und nur bleiläufig erwähnt wurde, wollte ich nur kurz erwähnt haben: Ihr habt doch alle keine Ahnung

Sorry, nur ein dummer Scherz. Aber auch ich habe mich in den letzten Monaten mit Begeisterung von der aktuellen KI-Generation beeindrucken lassen. Nach meiner Erfahrung geht nichts über Suno AI (Musik)...

Meine Erfahrung mit ChatGPT ist eher durchwachsen. Viel zu oft hat GPT bzw. Copilot einen Themenwechsel vorgeschlagen, weil meine Fragen nicht zufrieden stellend oder falsch beantworten wurden.
Ja, ja Prompt Engineering. Davon halte ich nichts. Wenn ich ein LLM mit natürlicher Sprache bedienen können soll, dann werde ich keinen Kurs belegen, in dem mir beigebracht wir mit dieser KI zu kommunizieren. Dennoch ist mir bewusst, dass wenn ich bei meiner Anfrage zu sehr ins Detail gehe, ich damit ggf. Grenzen setze. Grenzen die die KI in ihrer Kreativität einschränken oder Fehler provozieren können...

Bei einem "Gespräch" über die bikubische Interpolation (zur Skalierung von Bildern) kamen wir zu dem Schluss, dass pro Bildzeile und Bildspalte je ein Satz an Koeffizienten benötigt werden. "Also bei einem Bild mit 150x150 Pixeln werden 300 Sätze benötigt?" "Nein, 22.500". ChatGPT hatte sich spontan umentschieden und meinte zu jedem Pixel müssten die Koeffizienten individuell berechnet werden (auch dann wäre 22.500 falsch)…

Nicht falsch verstehen, ChatGPT ist verdammt beeindruckend und ich mag was damit möglich ist. Aber mein Fazit lautet: Ein manchmal nützliches Spielzeug, das sein Geld noch nicht Wert ist.

Mit GPT-4o wurde wohl ein ordentlicher Sprung gemacht. Und während des Vorstellungsvideo hatte ich nur einen Gedanken: Haben will!
Aber das habe ich nicht ausprobiert und werde ich wohl auch nicht. Die Benchmarks scheinen sich da recht einig zu sein. Bei Semantik führt GPT-4o, ansonsten und vor allem bei Software Entwicklung hat Claude die Nase vorne.

Ich Verfasse diesen Text nicht um irgendjemand von irgendwas zu überzeugen. Ich benutze Claude seit Sonntag und bin begeistert. Wollte nur ein paar Fragen und Probleme aus der DP kopieren um Claude zu füttern. Dabei bin ich hier gelandet und musste meiner Begeisterung Ausdruck verleihen. Und darauf hinweisen, Claude ist imho ein Versuch wert.

Ein kleines Beispiel, das ich GTP-4 nicht zutraue (mit GTP-4o würde ich es ausprobieren). Unit A hatte Daten erzeugt, Unit B hat sie aufbereitet und Unit C daraus ein Bild erstellt. Eine Änderung in Unit A, die ich vergaß in Unit B zu berücksichtigen, führte zu einem Fehler in dem Bild.
Ich habe Claude das Bild und die Unit B und C gegeben. "Siehst du die beiden roten Punkte? Die müssten sich eigentlich ...blah blub… befinden. Wo ist mein Fehler?"
Claude fragt ein par mögliche Ursachen ab, welche ich ausschließen konnte. Dann sollte ich ein par Debugzeilen einfügen (OutputDebugString an spezifischen Stellen). Die Ausgabe habe ich Claude gegeben. Und erneut wurden mir Fragen gestellt und ich sollte weitere Debugzeilen einfügen. Claude wurde erneut mit der Ausgabe gefüttert und "Dann kann es nur noch A oder B sein". Und richtig, Claude kannte die Unit A nicht, konnte also den Fehler bzw. den Ort nicht exakt bestimmen, hatte mir aber den entscheidenden Hinweis gegeben.

Dieses systematische und zielführende Vorgehen hat mich beeindruckt. Wie gesagt, ich nutze Claude erst seit Sonntag. Also urteile ich evtl. vorschnell. Aber im Moment fühlt sich die Arbeit mit Claude wie eine Mischung aus Pair Programming und Brainstorming an (und Tipparbeit abnehmen kann er auch ). Die erste KI, die ich als nützliches Hilfsmittel empfinde.

Um den Anschluss an diesen Thread nicht völlig zu verlieren, komme ich noch zum "Auslöser" meiner Textwand

Und Claude Sonnet 3.5 kommt mit Deiner Frage wohl auch nicht sehr weit.
Das war auch auch ehrlicherweise nur das Standardmodell, weil ich noch keine Subscription habe.
Von Claude 3.5 gibt es derzeit nur Sonnet. Das kleine und das große Modell (sollten sie kommen) sind noch nicht verfügbar. Aber das ist die Antwort, die ich erhalten habe:

Delphi-Quellcode:
type
  EOggError = class(Exception);

  TOggPageHeader = packed record
    CapturePattern: array[0..3] of AnsiChar;
    StreamStructureVersion: Byte;
    HeaderType: Byte;
    GranulePosition: Int64;
    BitstreamSerialNumber: Cardinal;
    PageSequenceNumber: Cardinal;
    Checksum: Cardinal;
    PageSegments: Byte;
  end;

const
  OGG_CAPTURE_PATTERN: array[0..3] of AnsiChar = 'OggS';
  MAX_PAGE_SIZE = 65307; // Maximum theoretical Ogg page size

function GetMaxGranulePosition(const FileName: string): Int64;
var
  FileStream: TFileStream;
  Header: TOggPageHeader;
  MaxGranulePosition: Int64;
  SegmentTable: array[0..254] of Byte;
  PageSize: Integer;
  i: Integer;
begin
  MaxGranulePosition := 0;
  FileStream := nil;
  try
    try
      FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
      while FileStream.Position < FileStream.Size do
      begin
        // Read Ogg page header
        if FileStream.Read(Header, SizeOf(TOggPageHeader)) <> SizeOf(TOggPageHeader) then
          raise EOggError.Create('Unexpected end of file while reading Ogg header');

        // Check capture pattern
        if not CompareMem(@Header.CapturePattern[0], @OGG_CAPTURE_PATTERN[0], 4) then
          raise EOggError.Create('Invalid Ogg file format: Capture pattern mismatch');

        // Update max granule position
        if Header.GranulePosition > MaxGranulePosition then
          MaxGranulePosition := Header.GranulePosition;

        // Read segment table
        if FileStream.Read(SegmentTable, Header.PageSegments) <> Header.PageSegments then
          raise EOggError.Create('Unexpected end of file while reading segment table');

        // Calculate page size
        PageSize := 0;
        for i := 0 to Header.PageSegments - 1 do
          Inc(PageSize, SegmentTable[i]);

        // Sanity check on page size
        if PageSize > MAX_PAGE_SIZE then
          raise EOggError.Create('Invalid Ogg page size');

        // Skip to next page
        FileStream.Seek(PageSize, soFromCurrent);
      end;
    except
      on E: EOggError do
        raise;
      on E: Exception do
        raise EOggError.CreateFmt('Error processing Ogg file: %s', [E.Message]);
    end;
  finally
    FileStream.Free;
  end;

  Result := MaxGranulePosition;
end;
Da ich mit Ogg/Sound nicht viel zu tun habe, kann ich nicht beurteilen ob die Zahl korrekt ist aber ich habe eine erhalten


Ach zum Thema kopieren... In den Netzen werden die Trainingsdaten ja nicht direkt gespeichert. Diverse Eingaben werden zu "abstrakten Zahlen Kolonnen" zusammengefasst. Wenn ein Netz sehr monoton trainiert wird, dann wird die Ausgabe sehr monoton und den Trainingsdaten sehr ähnlich. Aber auch dann erhalten wir keine Kopie. Es ist eine Fusion und neu Interpretation von diversen Eingaben. Wenn ich mir von einer KI z.B. ein Bild erzeugen lasse, dann stammt die Kreative "Leistung" (zumindest weitestgehend) von mir. Die KI hat gelernt was ein Strich, ein Kreis, was rot und grün ist und wie viele Striche und Kreise benötigt werden um z.B. die Skizze von einem Auto anzufertigen. Aber wie das Auto aussehen soll, das gebe ich vor. Anstatt eines Bleistifts nehme ich halt eine KI (ja, vielleicht habe ich das ganze etwas stark vereinfacht aber von einer Kopie zu reden?)

Oder Suno, Musik... Natürlich gab es schon jemanden der Gitarre gespielt hat. Und natürlich spielt Suno nicht eine einzige Note, die nicht schonmal gespielt wurde. Aber die KI ist weit davon entfernt einfach Schnipsel aus verschiedenen Stücken auszuschneiden und zu einem Neuen zusammen zu setzen. So funktioniert KI nicht...

mfg,
bp
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
865 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: ChatGPT - Wow! (Cron-Job)

  Alt 10. Jul 2024, 05:36
Da ich mit Ogg/Sound nicht viel zu tun habe, kann ich nicht beurteilen ob die Zahl korrekt ist aber ich habe eine erhalten
Den Wert kann man recht einfach überprüfen: Der gibt die Anzahl der Samples in der Datei an. Teilt man diesen Wert durch die Samplerate (meist 44100 oder 48000), dann sollte man die Abspieldauer in Sekunden erhalten. Auf den ersten Blick sieht der Code für mich richtig aus, auch wenn man sich den "Sanity check on page size" sparen kann - der dürfte immer True ergeben.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.519 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#27

AW: ChatGPT - Wow! (Cron-Job)

  Alt 10. Jul 2024, 08:31
Nur so nebenbei: Die aktuell frei verfügbare chatGPT-Version ist 4:
"This is ChatGPT, based on the GPT-4 architecture."

Es kommt mir auch etwas besser vor als die letzten Male, wo ich es ausprobiert hatte, aber die Fehler, die es einstreut nerven einfach gewaltig.

Wobei ich geschworen hätte, dass ich zuletzt für eine beschränkte Zeit die Version 4o hatte...
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.458 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: ChatGPT - Wow! (Cron-Job)

  Alt 10. Jul 2024, 08:43
Wobei ich geschworen hätte, dass ich zuletzt für eine beschränkte Zeit die Version 4o hatte...
Das kannst du nur testen. Nach ein paar Anfragen sagt es dann, dass das genug ist und du nun kostenlos nur noch die kleinere Version nutzen kannst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.512 Beiträge
 
Delphi 12 Athens
 
#29

AW: ChatGPT - Wow! (Cron-Job)

  Alt 10. Jul 2024, 08:51
auch wenn man sich den "Sanity check on page size" sparen kann - der dürfte immer True ergeben.
Ich hoffe doch False.

Außerdem kann Length(SegmentTable) * High(Byte) aka High(PageSegments) * High(Byte) sowieso niemals größer als MAX_PAGE_SIZE sein.
255*255 = 64.770 < 65.307

Ich kann jetzt auch nicht erkennen, wie jemand auf den Wert von MAX_PAGE_SIZE kommt.
Bei SizeOf(TOggPageHeader) + High(PageSegments) * High(Byte) kommt auch was Anderes raus.



Aber so lange da PageSize niemals kleiner 0 sein kann, wird man hier zumindest nicht in eine Endlosschleife landen, falls durch einen Datenfehler mal PageSize/SegmentTable Mist liefert.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (10. Jul 2024 um 09:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
865 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: ChatGPT - Wow! (Cron-Job)

  Alt 10. Jul 2024, 09:28
Klar, die if-Schleife () liefert immer False, und somit ist der Test auf "Sanity" immer True.
Außerdem kann Length(SegmentTable) * High(Byte) aka High(PageSegments) * High(Byte) sowieso niemals größer als MAX_PAGE_SIZE sein.
255*255 = 64.770 < 65.307
Eben, das ist der Punkt. So, wie PageSize berechnet wird, kann der maximale Wert nicht überschritten werden. Falls da Mist drin steht, springt das folgende Seek irgendwohin, aber nicht zum nächsten PageHeader, und die Funktion bricht ab.
Interessant ist allenfalls noch der Randfall, wenn die PageSize = 0 ist. Der Fall kann durchaus auftreten, denn manchmal braucht man in diesem Containerformat tatsächlich explizit eine Segmentgröße von 0 in der SegmentTable. Hängt damit zusammen, dass eine Segmentgröße kleiner $ff das Ende eines "Packets" angibt. Wenn die Packetgröße ein Vielfaches von 256 ist, braucht man da als "Trenner" eine Segmentgröße von 0. Und falls ein solches Packet die Seite komplett füllt, muss das auf der folgenden Seite abgeschlossen werden.

Auf den Wert kommt man per 255*256 + 27(=HeaderSize). Ob das sinnvoll ist, sei mal dahingestellt. Aber das führt zu weit weg vom Thema ChatGPT.
Edit: Doch, ist sinnvoll. Das ist SizeOf(TOggPageHeader) + High(PageSegments) + High(PageSegments) * High(Byte)
The angels have the phone box.

Geändert von Gausi (10. Jul 2024 um 09:41 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz