Skip to content

Commit e1b0df7

Browse files
committed
Added skills guide.
Migrated over skills guide. Signed-off-by: JJ Asghar <awesome@ibm.com>
1 parent c8c97d1 commit e1b0df7

File tree

2 files changed

+226
-0
lines changed

2 files changed

+226
-0
lines changed
Lines changed: 225 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
# Skills Guide
2+
3+
## What is a "Skill"?
4+
5+
There are various types of skills that you can contribute to the taxonomy.
6+
7+
### Compositional Skills
8+
9+
Skills are performative. When you create a skill for the model, you're
10+
teaching it how to do something: "write me a song," "rearrange words in a sentence" or
11+
"summarize an email."
12+
13+
There are two types of compositional skills:
14+
15+
#### Freeform Compositional Skills
16+
17+
Freeform compositional skills are performative and do **not** require additional context. An example of a freeform skill is teaching the model words that rhyme. You could provide examples of "words that rhyme with 'tool'". By providing those examples, you're essentially tickling the latent knowledge of the LLM. In our example, you're enabling the LLM to be able to identify words that rhyme in its latent knowledge.
18+
19+
Freeform skills include things like:
20+
21+
* Speak like Yoda
22+
* Convert to camel case
23+
* Write me a limerick
24+
* Generate StabeDiffusion prompts
25+
26+
#### Grounded Compositional Skills
27+
28+
Grounded skills are performative and **do** require additional context. An
29+
example of a grounded skill would be to read the value of a cell in a table
30+
layout, or to parse a JSON file. To create a grounded skill to read a
31+
markdown formatted table layout, the additional context could be an example
32+
table layout. This additional context is including in the YAML for the
33+
skill and not external to it.
34+
35+
!!! note
36+
The content of the table layout will not be used in training
37+
or aligning the model; only the table layout format itself will be used.
38+
39+
Grounded skills include things like:
40+
41+
* Game creation like Sudoku or tic tac toe
42+
* Summarizing or extracting from a piece of text
43+
* Find unresolved items in a meeting transcript
44+
45+
[Example Grounded compositional skill pull request](https://github.com/instructlab/taxonomy/pull/250)
46+
47+
### Core Skills
48+
49+
Core skills are foundational skills like math, reasoning, and coding.
50+
51+
!!! note
52+
Unlike **knowledge** and **compositional skills**, core skills
53+
are not contributable to the tree. So when you see reference to contributing
54+
"skills" to the taxonomy from this point forward, it is **compositional
55+
skills** that are being referenced.
56+
57+
## Accepted Skills
58+
59+
### Creative Writing / Poetics
60+
61+
Adding new types of documents and writing styles to the LLM are welcome. Consider:
62+
63+
* Song lyrics
64+
* Soliloquies
65+
* Five paragraph essays
66+
* Arguments
67+
68+
### Learning to Format Information
69+
70+
Skills to better format and reassemble information are helpful.
71+
72+
### Table Analysis and Processing
73+
74+
Consider:
75+
76+
* Drawing verbal inferences and conclusions about what's in a table
77+
* Sorting
78+
* Selecting
79+
* Joining
80+
81+
### Qualitative Inference and Chain-of-Thought Reasoning
82+
83+
Example:
84+
85+
> Mary is taller than John.
86+
> John is taller than Anna.
87+
> Is Anna taller than Mary?
88+
89+
Example:
90+
91+
> An elephant, a mouse and a horse are in a room. How would they be ordered if they were standing in order by size?
92+
93+
Great skills in this category should include the correct line of reasoning in the answer, not just what the answer is.
94+
95+
### Word Problems
96+
97+
Is your LLM smarter than a second grader?
98+
99+
### Trust and Safety
100+
101+
Please avoid HAP (hate, abuse and profanity) and PII (personal identifiable information) in your examples.
102+
103+
Anything related to trust and safety will be flagged for higher-level review.
104+
105+
### Searching, Extraction and Summarization
106+
107+
Skills to select odd information in a document, draw conclusions, pull out information, draw insights or generate TODOs from information provided in the "context" field are welcome.
108+
109+
### Complex Rulesets and Games
110+
111+
!!! note
112+
This is a good example of the need for a *grounded skill*. Grounded skills require the user to provide context containing information that the model is expected to take into account during processing. This is different from *knowledge*, where the model is expected to gain facts and background knowledge from the tuning process.
113+
Context added when tuning a grounded skill would need to be again provided by the end user at inference time. The skill here is better adherence to the rule set.
114+
115+
To add a skill for a structured game or other task with a complex rule set, use a grounded skill. Add the rules to the game as "context" in every example. Add the interpretation as a question.
116+
117+
### Writing Style and Personalities
118+
119+
When adding a skill, expect that you're tuning a fairly general purpose LLM to behave better given particular circumstances.
120+
121+
If you want to add a skill to better adopt a particular personality - say, "a little boy living in the 1800s" - that context needs to be provided in either the "context" or "question" field.
122+
123+
### Instruction-Following Behavior
124+
125+
LLMs could be better at following extra instructions in a prompt about how to do a task, such as: "Keep your response to 200 words." Or: "Only produce 10 items." Skills to improve this behavior will help the model behave with more precision.
126+
127+
## Skills to Avoid
128+
129+
There are several types of skills that we don't expect this procedure to improve. Most skills in these categories will be rejected.
130+
131+
### Math
132+
133+
Trying to make the LLM solve math problems will be rejected.
134+
135+
### Real world knowledge-based skills
136+
137+
Unless it can be framed as a "grounded skill", where the user is expected to provide context, knowledge contributions will be a separate part of the taxonomy. Skills shouldn't expect the model to come up with its own facts, but instead assemble facts provided.
138+
139+
### Red Teaming
140+
141+
Adversarial questions and answers will be rejected at this time.
142+
143+
### Turing-complete style problems
144+
145+
These are an edge case, but things like palindromes and regexes, where getting the right answer with a non-stochastic program would be easy, aren't good targets for the moment.
146+
147+
Open an issue in the taxonomy repository if you have an idea in this space before submitting a PR.
148+
149+
### Small Changes to Original Response
150+
151+
If the original LLM response is pretty close, but it's not responding to your exact expectations, a skill is not the right way to solve that problem.
152+
153+
## Avoid These Topics
154+
155+
While the tuning process may eventually benefit from being used to help the models work with complex social topics, at this time this is an area of active research we do not want to take lightly. Therefore please keep your submissions clear of the following topics:
156+
157+
* PII (personally identifiable information) or any content invasive of individual privacy rights
158+
* Violence including self-harm
159+
* Cyber Bullying
160+
* Internal documentation or other that is confidential to your employer or organization, e.g. trade secrets
161+
* Discrimination
162+
* Religion
163+
* Facts such as, "[Christianity is, according to the 2011 census, the fifth most practiced religion in Nepal, with 375,699 adherents, or 1.4% of the population](https://en.wikipedia.org/wiki/Christianity_in_Nepal)", are fine as a knowledge contribution. Advocating in favor of or against any religious faith is not acceptable.
164+
* Medical or health information
165+
* Facts such as, "[In mammals, pulmonary ventilation occurs via inhalation (breathing)](https://opentextbc.ca/biology/chapter/11-3-circulatory-and-respiratory-systems/)," are fine as a knowledge contribution. Tailored medical/health advice is not acceptable.
166+
* Financial information
167+
* Facts such as "[laissez-faire economics ... argues that market forces alone should drive the economy and that governments should refrain from direct intervention in or moderation of the economic system](https://openstax.org/books/world-history-volume-2/pages/6-3-capitalism-and-the-first-industrial-revolution)," are fine as a knowledge contribution. Tailored financial advice is not acceptable.
168+
* Legal settlements/mitigations
169+
* Gender Bias
170+
* Hostile Language, threats, slurs, derogatory or insensitive jokes or comments
171+
* Profanity
172+
* Pornography and sexually explicit or suggestive content
173+
* Any contributions that would allow for automated decision making that affect an individual's rights or well-being, e.g. social scoring
174+
* Any contributions that engage in political campaigning or lobbying
175+
176+
We are also not accepting submissions of the following content:
177+
178+
* Jokes
179+
* Poems
180+
* Code
181+
* Anything code-related that can be traced back to code for a computer. Not limited to `sed` or `bash` but `yaml`s for OpenShift or Kubernetes, to `python` snippets to `Java` suggestions. There are specific models focused on this space and this isn't for this model for the time being.
182+
* "Guard Rails" for AI
183+
* We expect our upstream engineering team to create these types of skills and safe guards. We appriciate our community wanting to help with this, but there are underlying engineering decisions and taking this from the community may conflict with these.
184+
185+
We received so many at the beginning, and with jokes being "in the eye of the beholder" and puns requiring nuance for native English speakers, we realized we were possibly unconsciously biasing our model. We have discovered that working with both topics has its own challenges, and if we want something generalized, finding consensus was unsuccessful.
186+
187+
## Building Your LLM Intuition
188+
189+
LLMs have inherent limitations that make certain tasks extremely difficult, like doing math problems. They're great at other tasks, like creative writing. And they could be better at things like logical reasoning.
190+
191+
Consider these when you're generating skills. Skills in the first and second categories are welcomed. Skills in the third category are usually borderline and may be rejected.
192+
193+
### LLMs are great at
194+
195+
Skills in this category are welcomed, as refining these abilities helps us get better at the kinds of tasks where LLMs can excel.
196+
197+
For these, however, it's common for LLMs to already have excellent performance. Try 3-5 examples in `lab chat` to confirm a deficit in the model before you build your submission, and share the examples in your Pull Request (PR).
198+
199+
* Brainstorming
200+
* Creativity
201+
* Connecting information
202+
* Cross-lingual behavior
203+
204+
### LLMs need help with
205+
206+
Skills in this category are welcomed, since LLM behavior in these sorts of topics are very difficult for the model to get right. Try several examples to understand the nuances of the model's ability to do these sorts of tasks, and consider using corrections to the results you get in your tuning process.
207+
208+
* Chains of reasoning
209+
* Analysis
210+
* Story plots
211+
* Reassembling information
212+
* Effective and succinct summaries
213+
214+
### LLMs are not so great at
215+
216+
Skills in this category are ways in which LLMs struggle, and may always struggle. Solving math and computation problems via probability on natural language queries is probably not the best way to solve them. That said, improving some of these foundational skills may be something this work tackles in the future, but not at this time.
217+
218+
Most skill submissions in these categories are likely to be rejected.
219+
220+
For hallucinations in particular, trying to solve this with a skill is unlikely to work. Consider contributing to the Knowledge taxonomy when it opens instead to improve the model's understanding of facts.
221+
222+
* Math
223+
* Computation
224+
* "Turing-complete" type tasks
225+
* Generating only true real-world information (they're prone to hallucinations)

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ nav:
2525
- Taxonomy:
2626
- About Taxonomy: taxonomy/index.md
2727
- Skills Overview: taxonomy/skills/index.md
28+
- Skills Guide: taxonomy/skills/skills_guide.md
2829
- Knowledge Overview: taxonomy/knowledge/index.md
2930
- Knowledge Guide: taxonomy/knowledge/guide.md
3031
- Knowledge Contribution Details: taxonomy/knowledge/contribution_details.md

0 commit comments

Comments
 (0)