Extractive QA Template

#2
by lckr - opened

Hi Jan,

Can you give an example of the prompt template that was used for extractive QA (i.e. for the German Squad dataset) during training?

And am I correct in my assumption that you used the following prompt for your evaluation example?

<s>[INST] <<SYS>>
You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature.

If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information. Please answer in the same language as the user.
<</SYS>>



Warum ist die Mongolische Volksrepublik nicht dem Warschauer Pakt beigetreten?

Kontext zur Beantwortung der Frage: Warschauer_Pakt

=== Bilaterale Verträge über Freundschaft, Zusammenarbeit und gegenseitigen Beistand === Mit den bilateralen Bündnisverträgen wurde die Verpflichtung zur gegenseitigen Hilfeleistung unterzeichnet, um alle gewaltsamen militärischen Handlungen, die sich gegen die territoriale Integrität und Souveränität einer Vertragspartei richteten, zu verhindern. Den ersten dieser Freundschaftsverträge hatte die Sowjetunion schon während des Krieges am 12. Dezember 1943 mit der tschechoslowakischen Exilregierung abgeschlossen, der am 27. November 1963 für die Tschechoslowakei verlängert wurde. Von 1943 bis 1949 gab es bereits 23 bilaterale Verträge über Freundschaft, Zusammenarbeit und gegenseitigen Beistand (VFZ) der ersten Generation in Osteuropa. Neben diesem Vertragssystem bestanden ab 1956/57 auch weitere Abkommen: * Truppenstationierungsabkommen der Sowjetunion mit der DDR (12. März 1957), * Truppenstationierungsabkommen der Sowjetunion mit der Volksrepublik Polen (17. Dezember 1956), * Truppenstationierungsabkommen der Sowjetunion mit Rumänien (15. April 1957) und * Truppenstationierungsabkommen der Sowjetunion mit Ungarn (27. Mai 1957) jeweils mit einer Laufzeit von 20 Jahren. Aber bereits der Vertrag über die Beziehungen zwischen der DDR und der Sowjetunion vom 20. September 1950 zur Grenzregelung enthielt eine Vereinbarung zur Stationierung von sowjetischen Truppen auf dem Gebiet der DDR. Im Juli 1963 bat auch die Mongolische Volksrepublik, dem Warschauer Pakt nach Artikel 9 des Warschauer Vertrages beizutreten. Dazu hätte ein Sonderprotokoll gefasst werden müssen, da der Vertragstext nach Artikel 4 sich nur auf Europa bezog. Aufgrund des aufkommenden Chinesisch-sowjetischen Zerwürfnisses gab es keinen Beitritt, sondern es blieb bei einem Beobachterstatus. Stattdessen wurden ab 1966 sowjetische Truppenstationierungen vereinbart. Nachdem die Sowjetunion mit der DDR am 12. Juni 1964 einen Vertrag über Freundschaft, Zusammenarbeit und gegenseitigen Beistand schloss, der die volle Einbeziehung der DDR in das bilaterale Bündnissystem vorsah, wurden in der Zeit von 1964 bis 1972 insgesamt 20 Bündnisverträge der zweiten Generation unterzeichnet: Die Hegemonie der Sowjetunion wurde durch die bilateralen Bündnisverträge noch verstärkt, da diese eine unmittelbare Beistandsverpflichtung bei einem bewaffneten Angriff vorsahen, die auch in den meisten Verträgen sich nicht nur auf Europa beschränkte. In der dritten Generation der Verträge über Freundschaft, Zusammenarbeit und gegenseitigen Beistand erfolgte nach der Unterzeichnung der Schlussakte von Helsinki der Konferenz über Sicherheit und Zusammenarbeit in Europa (KSZE) im August 1975 die Einbeziehung der Breschnew-Doktrin und der ökonomischen Integration. Zudem wurde die Laufzeit der Verträge auf 25 Jahre festgelegt. Die DDR unterzeichnete am 7. Oktober 1975 mit der Sowjetunion diesen neuen Vertrag sowie später weitere mit Ungarn (24. März 1977), Polen (29. Mai 1977), Bulgarien (14. September 1977) und der Tschechoslowakei (3. Oktober 1977).

Bitte beantworte die Frage mit einem kurzen, wörtlichen Zitat aus dem Kontext. Sollte der Kontext keine Antwort auf die Frage enthalten, bitte antworte dass die Frage mit den gegebenen Informationen nicht zu beantworten ist.
[/INST] 

Best, Lucas

Hi Lucas,
no actually the system prompt for this specific example was:
Du bist ein KI-Assistent, der fachliche Fragen beantwortet. Der Nutzer wird dir eine Frage stellen und dazu Kontext bereitstellen. Bitte beantworte die Frage ausschließlich mit einem kurzen, wörtlichen Zitat aus dem Kontext. Sollte der Kontext keine Antwort auf die Frage enthalten, antworte dass die Frage mit den gegebenen Informationen nicht zu beantworten ist.
(the second sentence was then repeated in the user prompt.)

I varied the system prompt slightly during finetuning but did not evaluate the difference between the system prompts systematically. For the evaluation examples (which were created with a GGML Q4_0 version btw) I used the exact same prompts for both vesions. Reason for repeating the instruction in system and user prompt was that this improved results with GPT3.5 for these kind of prompts in my experiments; but as I said I didn't test other system prompts in a systematic way.

For this finetune, the extractive QA part was more or less a small experiment (~1/10th of total finetuning data) but works quite well. Would be interested in your results and/or feedback/suggestions for your usecase if you try it out!

best,jp

Sign up or log in to comment