Von Charles Foster
Bei Finetune entwickeln wir KI-Lösungen, um einige der schwierigsten Probleme der Bildungstechnologie anzugehen, darunter die automatische Inhaltserstellung und die KI-gestützte Klassifizierung und Empfehlung von Lernressourcen. Da die Themen, die unsere Tools behandeln müssen, von der Grundschule bis zur Weiterbildung reichen, investieren wir stark in Methoden, mit denen wir die Breite und Tiefe der von unseren Modellen abgedeckten Bereiche erweitern können. Schlüsselkomponenten dieses Ansatzes sind flexible Methoden zum Trainieren spezialisierter neuronaler Netzwerke in Bereichen, in denen allgemeine Modelle nicht ausreichen. In diesem Blogbeitrag möchte ich ein wenig von unserer Reise zur Erforschung dieser Methoden mit Ihnen teilen.
Feinabstimmung
Die typische Feinabstimmung neuronaler Sprachmodelle umfasst die gleichzeitige Optimierung aller ihrer trainierbaren Parameter, was bei Netzwerken wie GPT-J mehrere Milliarden betragen kann. Bei solchen Maßstäben sind sowohl die Feinabstimmungs- als auch die Inferenzprozesse nicht trivial, was ihre großflächige Einführung erschwert. Bei unseren eigenen Untersuchungen schienen einige Schlüsselprobleme am wichtigsten:
- Das einfache Ausführen dieser Transformer-Modelle stößt bereits an die Grenzen des GPU-Speichers (VRAM), und bei der Feinabstimmung besteht eine direkte Beziehung zwischen der Anzahl der zu optimierenden Parameter und der Menge des zusätzlich verbrauchten Speichers.
- Durch die Änderung aller Parameter im Netzwerk kann der während des Vortrainings erlernte Informationsfluss unterbrochen werden, was zum Vergessen und zum Verlust der Fähigkeiten für wenige Versuche führt.
- Die Bereitstellung eines angepassten Multi-Gigabyte-Modells für jeden Anwendungsfall würde zu inakzeptablen Latenzen und Kostenbelastungen führen.
Diese gemeinsamen Bedenken motivierten uns, andere Methoden aus der aktuellen Literatur zu untersuchen, um unsere neuronalen Sprachmodelle zu optimieren. Glücklicherweise hat die Forschung im Bereich der natürlichen Sprachverarbeitung im vergangenen Jahr eine Vielzahl von Methoden entwickelt, um die Kosten für die Anpassung des Verhaltens vorab trainierter Sprachmodelle zu senken.
Schnelles Tuning
Der ursprüngliche Ansatz, den wir verfolgt haben, heißt Prompt Tuning oder Soft Prompting (Lester et al. 2021). Bei dieser Methode werden die Parameter des Netzwerks aus dem Vortraining eingefroren gehalten. Stattdessen stellen wir den Eingabeaufforderungstoken eine kleine Anzahl lernbarer Einbettungsvektoren (normalerweise 10 bis 20) voran und optimieren diese Einbettungen mit dem üblichen Sprachmodellierungsziel auf einem Feinabstimmungsdatensatz. Diese Einbettungen stellen keine Sprachtoken dar; wir können sie uns stattdessen als einen dichten Kontextspeicher vorstellen, den das Netzwerk – über den Aufmerksamkeitsmechanismus – konditionieren kann, während es Vorhersagen über die Token in der Sequenz trifft.
Die Prompt-Optimierung verursacht nur geringe Laufzeitkosten für das Modell, da die Soft Prompts im Kilobyte-Bereich liegen und parallel über das Netzwerk ausgeführt werden können. Diese Funktionen machen sie attraktiv für die Bedienung vieler gleichzeitiger Benutzer, wie jüngste Einsätze der Technik im KI-Storytelling gezeigt haben. Die Integration von Soft Prompts in beliebte Frameworks wie die Transformer von HuggingFace ist jedoch komplex, da die Schnittstellen größtenteils für die Verarbeitung von Token-Indizes-Sequenzen und nicht von dichten Vektoren ausgelegt sind. Darüber hinaus stellen wir mit zunehmendem Kontext zwischen dem Soft Prompt und der Generierung Ungleichgewichte zwischen der Stärke der Konditionierung des Soft Prompts und des Token-Kontexts fest. Die Möglichkeit, Hunderte von Kontext-Tokens zur Laufzeit flexibel hinzuzufügen, war für uns wichtig, da sie zusätzliche feinkörnige Kontrollmöglichkeiten im Artikelerstellungsprozess bietet. Wenn wir das Modell so anleiten möchten, dass es sich auf Inhalte einer bestimmten Seite eines Lehrbuchs konzentriert, einen Leseverständnisartikel erstellt oder Beispiele aus wenigen Versuchen liefert, ist die Kontextualisierung im Langformat wichtig.
Low Rank Adapter (LoRA)
Später wechselten wir zu einer Methode namens LoRA oder Low Rank Adapters (Hu et al. 2021). Diese Technik wurde von Forschern bei Microsoft entwickelt, die an Modellen in GPT-3-Größe arbeiteten, und baut auf früheren Adapteransätzen auf. Wenn wir uns einen Transformator so vorstellen, dass er seine Token-Latenzzustände mit jeder Restschicht schrittweise verfeinert, besteht das Konzept eines Adapters darin, diesen Latenzen auf einer bestimmten Schicht ein kleines, eingabeabhängiges Delta (initialisiert auf einen No-Op) hinzuzufügen. Dieser sanfte Anstoß kann dann sein Verhalten weiter unten modulieren, indem er beispielsweise die Teile der Eingabe hervorhebt, die für die Aufgabe relevant sind.
Low-Rank-Adapter sind eine Art Adapter, der auf einen Low-Rank-Subraum abzielt, was die Anzahl der neuen Parameter, die wir trainieren müssen, reduziert (von D 2 auf 2 × D × r, wobei D im Tausenderbereich liegt). Wie beim Soft Prompting halten wir die ursprünglichen Parameter des Netzwerks eingefroren, um das darin enthaltene Wissen aus dem Vortraining zu bewahren, und passen nur diese neuen Adapterparameter an. In unseren internen Tests haben wir gute Indikatoren von LoRA gesehen. Modelle mit eingestreuten Adapterschichten ermöglichen es uns nicht nur, große Modelle mit kleinem Hardwarebudget zu optimieren, sondern behalten auch einen Großteil ihrer ursprünglichen Few-Shot-Fähigkeit bei, während sie sich dennoch an die Zieldomäne anpassen. Insbesondere die Integration von Low-Rank-Adaptern in andere Frameworks ist unkompliziert, da wir vorhandene lineare Schichten nach Bedarf einfach durch lineare + Adapterschichten ersetzen können.
Vorwärtskommen
Um einen Eindruck von den Verbesserungen zu vermitteln, die wir bei unseren Untersuchungen festgestellt haben, zeigen wir im Folgenden eine kleine Auswahl von Generationen von Modellen, die mit unterschiedlichen Abstimmungsansätzen trainiert wurden. Diese Elemente wurden alle mit denselben drei Eingabeaufforderungen im Zusammenhang mit der Bereitstellung von Pflegeleistungen generiert: Die erste konzentrierte sich auf die Priorisierung der Bedürfnisse mehrerer Klienten und die zweite auf das Ergreifen von Maßnahmen im Teamumfeld.
Item #1: A nurse is assessing a client who is scheduled for outpatient surgery. Which of the following patients would the nurse evaluate next? (A) A patient with type 1 diabetes (B) A patient with acute pancreatitis (C) A patient who requires intravenous antibiotic therapy (D) A patient with Crohn's disease Item #2: A client is admitted to the hospital with the diagnosis of congestive heart failure. The client's mother is refusing treatment. Which of the following actions should the nurse take? (A) Notify the provider of the situation. (B) Check the patient's medication list. (C) Check the client's medical chart. (D) Notify the client's doctor of the client's condition.
Item #3: A nurse is evaluating a patient on the pediatric unit. The client is scheduled for a diagnostic workup, including a chest radiograph. Which of the following patients should the nurse be planning to evaluate next? (A) A child who has pneumonia and is experiencing fever (B) A child who has a rash and is not responding to a medication (C) A child who has a fever and has a temperature >100.4 (D) A child who has a fever and a rash Item #4: A client with renal failure is in the hospital and is scheduled to undergo a renal transplant. The client has a strong belief that the transplant surgeon is incompetent. The client refuses to allow a doctor from another hospital to perform the transplant. Which of the following actions should the charge nurse take? (A) Take a statement from the client that the transplant surgeon is competent and give it to the transplant surgeon. (B) Ask the client for a signed statement to back up her assertion. (C) Contact the transplant surgeon and find out why the client refuses to allow the surgeon from another hospital to perform the transplant. (D) Inform the transplant surgeon that the client is refusing the transplant.
Item #5: A nurse is planning to assign clients to various bedside stations. Which of the following clients should the nurse assign to the bedside station closest to the nurses' station? (A) A client who has a suspected diagnosis of a pulmonary embolism and requires a computed tomography (CT) scan (B) A client who needs assistance with a bowel movement (C) A client who has an emergency indication for a chest X-ray (D) A client who requires a chest X-ray because she has a cough Item #6: An LPN is caring for a client with an indwelling urinary catheter and is asking the nurse to help her clean the catheter. Which of the following actions should the nurse take? (A) Explain to the client that she will need to provide the cleaning solution and will need to obtain the client's consent for the procedure. (B) Ask the LPN for assistance. (C) Offer to help the client clean the catheter. (D) Assure the LPN that the nurse will assist her.
Wir können beobachten, dass die besten Elemente des Basismodells zwar weitgehend flüssig und logisch kohärent sind, aber dazu neigen, unterbestimmt zu sein (wie in Nr. 1) oder nur sehr wenig Wissen über den Pflegebereich erfordern (wie in Nr. 3). Im Vergleich zu den Basiselementen enthalten Elemente der Prompt-Tuning- und Low-Rank-Adaptermodelle mehr Details in ihren Stimuli, Stämmen und Optionen. Der Inhalt ist für den Bereich relevant und erfordert spezifisches Wissen im Pflegemanagement, anstatt sich nur auf Hintergrundwissen zu verlassen. Darüber hinaus haben die Elemente des Low-Rank-Adaptermodells eine konsistentere Form. Beispielsweise beziehen sich die Elemente konsistent auf den „Klienten“ im Gegensatz zum „Patienten“, entsprechend der Sprache, die wahrscheinlich in Beurteilungen vorkommen würde (vergleichen Sie Nr. 5 mit Nr. 1 und Nr. 3). Es verfolgt auch erfolgreich Verweise auf mehrere Personen innerhalb eines Szenarios (vergleichen Sie Nr. 6 mit Nr. 4).
Verbesserungen bei der Domänenabdeckung, der stilistischen Konsistenz und der logischen Kohärenz können zu erheblichen Verbesserungen der Nützlichkeit neuronaler Sprachmodelle führen. Dies ist nur der Anfang: Mit zunehmender Weiterentwicklung der Technologie werden noch mehr Methoden entdeckt, um benutzerdefinierte, steuerbare natürliche Sprachmodelle in großem Maßstab zu erstellen. Und während diese Methoden entdeckt werden, werden wir weiterhin das Beste aus der Wissenschaft, der Industrie und der unabhängigen Forschung in Finetune-Produkte integrieren.
Herzlichen Dank an Nick Koprowicz, Jesse Hamer, Saad Khan und Ogden Morse für ihr freundliches und hilfreiches Feedback bei der Entwicklung dieses Blogbeitrags.
Verweise
Hu, EJ, Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Low-rank adaptation of large language models. arXiv-Preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). Die Macht der Skalierung für eine parametereffiziente prompte Abstimmung. arXiv-Vorabdruck arXiv:2104.08691.