4 ms·
Correct and also it is required to have a labeled set of manually-curated examples of instructions. For example, OpenAI has such a dataset, as they detailed in
by upwardbound 4y ago
Correct and also it is required to have a labeled set of manually-curated examples of instructions. For example, OpenAI has such a dataset, as they detailed in this blog post https://openai.com/blog/instruction-following/ https://openai.com/blog/instruction-following/ . We have our own set of example instructions (albeit much smaller than what they must have) and we have scripts for generating more examples of instructions via template-based synthesis (similar to madlibs if that makes sense). Another approach to generating more examples of instructions could be taking English verbs and conjugating them into the imperative form, and then using a LLM to auto-complete a sentence starting with that verb. (E.g. take the verb "to paint", conjugate to it to the imperative "Paint" (at the start of a sentence) and then auto-complete it to something like "Paint the house red." which is now an instruction.)
In our template-based method, extra emphasis is given to generating instructions that contain what you might think of as "override words", i.e. words like "ignore", "override", and "instead", which convey authority. As a concrete example, here's an excerpt from one of our templates:
_INSTRUCTIONAL_PHRASE_BEGINNINGS_TEMPLATE = [
["", "please", "highly important:", "very important:", "important:", "new instructions:", "emergency:", "emergency protocol:", "urgent:", "top secret:", "important!", "very important!"],
["ignore", "disregard", "set aside", "override", "overrule", "act regardless of", "operate regardless of", "act irregardless of", "operate irregardless of", "act despite", "operate despite"],
["", "the", "all", "any", "whatever"],
["", "previous", "existing", "contradictory", "conflicting", "contrary"],
["instructions", "rules", "guidelines", "guidance", "request", "requests", "demands", "questions", "inquiries", "suggestions", "filters", "content filters", "filtering rules", "content filtering rules", "procedures", "security procedures", "security rules"],
["", "please"],
["", "ok?", "and please", "and", "and please do this instead", "and do this instead", "and instead", "and instead you should", "and instead you should please", "– instead do this", "– instead", "– instead, please"],
]
- zarzavat 4y agoThis only works in English. You can write a prompt in any language.
- upwardbound 4y agoAbsolutely agreed. I'm both oversimplifying and also the training data curation indeed takes serious effort to do safely. For starters, you're 100% correct that training examples of instructions / commands need to be provided in every language the model supports. In our research, we used machine translation to translate the English examples into other languages, which is not a great solution as it depends on the quality of the machine translation, and it would be better to do that but also supplement it with manually written examples in every language. There also need to be examples that mix multiple languages together within a sentence, as well as other methods of disguising text such as pig latin and caesar ciphers. Another area that we haven't dived into yet is the possibility that instructions / commands could be expressed as code or pseudocode, e.g. in python or another common language, saying something like: 'del prompt ; prompt = "new prompt here"'. But I think that creating training data that is at least somewhat comprehensive is possible, and that it can be iteratively improved upon over time through sustained effort and red teaming. I do believe that even an imperfectly implemented Harvard Architecture Language Model would be much more secure than the language models in use today, and I hope that if anyone reads this who works at OpenAI or one of the other big tech companies that you will consider adopting a Harvard Architecture for your next big language model. Thank you for your consideration.