Understanding Big Language Models:
1. DALL-E 2 (Open.AI)2. Stable Diffusion (Stability.AI)
3. Midjourney (Midjourney)
4. Codex - Github Copilot (Open.AI)
5. You.com (You.com)
6. Whisper AI (Open.AI)
7. GPT-3 Models (175B?) (Open.AI)
8. OPT (175B and 66B) (Meta)
9. BLOOM (176B) (Hugging Face)
10. GPT-NeoX (20B) (Eleuther.AI)
Topics where user can contribute:
- Retrieval augment in-context learning
- Better benchmarks
- "Last Mile" for productive applications
- Faithful, human-interpretable explanations.
Prompt Engineering Overview:
At the very basic we have interface to interact with a language model, where we pass some instruction and the model passes a response. The response is generated by the language model.
A prompt is composed with the following components:
- Instructions
- Context (this is not always given but is part of more advanced techniques)
- Input Data
- Output Indicator
Settings to keep in mind:
- When prompting a new language model you should keep in mind a few settings
- You can get very different results with prompts when using different settings
- One important setting is controlling how deterministic the model is when generating completion of prompts:
- Temperature and top_p are two important parameters to keep in mind.
- Generally, keep these low if you are looking for exact answers like mathematics equation answers
- ... and keep them high for more diverse responses like text generation, poetry generation.
Designing prompts for Different Tasks:
Tasks Covered:
- Text Summarization
- Question Answering
- Text Classification
- Role Playing
- Code Generation
- Reasoning
Prompt Engineering Techniques: Many advanced prompting techniques have been designed to improve performance on complex tasks.
- Few-Shot prompts
- Chain-of-Thought (CoT) prompting
- Self-Consistency
- Knowledge Generation prompting
- ReAct
Tools & IDE's : Tools, libraries and platforms with different capabilities and functionalities include:
- Developing and Experimenting with Prompts
- Evaluating Prompts
- Versioning and deploying prompts
- Dyno
- Dust
- LangChain
- PROMPTABLE
Example of LLMs with external tools:
- The generative capabilities of LLMs can be combined with an external tool to solve complex problems.
- The components you need:
- An agent powered by LLM to determine which action to take
- A tool used by the agent to interact with the world (e.g. search API, Wolfram, Python REPL, database lookup)
- The LLM that will power the agent.
Opportunities and Future Directions:
- Model Safety: This can be used to not only improve the performance but also the reliability of response from a safety perspective.
- Prompt engineering can help identify risky behavior of LLMs which can help to reduce harmful behaviors and risks that may arise from language models.
- There is also a part of the community performing prompt inject to understand the vulnerability of LLMs.
- Prompt Injection: it turns out that building LLMs, like any other systems comes with safety and challenges and safety considerations. Prompt injection aim to find vulnerabilities in LLMs.
- Some common issues include:
- Prompt Injection
- Prompt Leaking: It aims to force the model to spit out information about its own prompt. This can lead to leaking of either sensitive, private or information that is confidential.
- Jailbreaking: Is another form of prompt injection where the goal is to bypass safety and moderation features.
- LLMs provided via API's might be coupled with safety features or content moderation which can be bypassed with harmful prompts/attacks.
- RLHF: Train LLM's to meet a specific human preference. Involves collecting high-quality prompt datasets.
- Popular Examples :
- Claude (Anthropic)
- ChatGPT (OpenAI)
- Future Directions include:
- Augmented LLM's
- Emergent ability of LLM's
- Acting / Planning - Reinforcement Learning
- Multimodal Planning
- Graph Planning
A token is ChatGPT is roughly 4 words.