Skip to content

Commit ef6e843

Browse files
committed
Added text-davinci-002 & code-davinci-002, clarified terminology, naming convention, and other model-related language.
1 parent cef707c commit ef6e843

File tree

6 files changed

+86
-65
lines changed

6 files changed

+86
-65
lines changed

articles/cognitive-services/openai/concepts/models.md

Lines changed: 71 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Azure OpenAI Models
2+
title: Azure OpenAI models
33
titleSuffix: Azure OpenAI
4-
description: Learn about the different AI models that are available.
4+
description: Learn about the different models that are available in Azure OpenAI.
55
ms.service: cognitive-services
66
ms.topic: conceptual
77
ms.date: 06/24/2022
@@ -13,41 +13,58 @@ recommendations: false
1313
keywords:
1414
---
1515

16-
# Azure OpenAI Models
16+
# Azure OpenAI models
1717

18-
The service provides access to many different models. Models describe a family of models and are broken out as follows:
18+
The service provides access to many different models, grouped by family and capability. A model family typically associates models by their intended task. The following table describes model families currently available in Azure OpenAI.
1919

20-
|Modes | Description|
20+
| Model family | Description |
2121
|--|--|
22-
| GPT-3 series | A set of GPT-3 models that can understand and generate natural language |
23-
| Codex Series | A set of models that can understand and generate code, including translating natural language to code |
24-
| Embeddings Series | An embedding is a special format of data representation that can be easily utilized by machine learning models and algorithms. The embedding is an information dense representation of the semantic meaning of a piece of text. Currently we offer three families of embedding models for different functionalities: text search, text similarity and code search |
22+
| [GPT-3](#gpt-3-models) | A series of models that can understand and generate natural language. |
23+
| [Codex](#codex-models) | A series of models that can understand and generate code, including translating natural language to code. |
24+
| [Embeddings](#embedding-models) | A set of models that can understand and use embeddings. An embedding is a special format of data representation that can be easily utilized by machine learning models and algorithms. The embedding is an information dense representation of the semantic meaning of a piece of text. Currently, we offer three families of Embeddings models for different functionalities: text search, text similarity, and code search. |
25+
26+
## Model capabilities
27+
28+
Each model family has a series of models that are further distinguished by capability. These capabilities are typically identified by names, and the alphabetical order of these names generally signifies the relative capability and cost of that model within a given model family. For example, GPT-3 models use names such as Ada, Babbage, Curie, and Davinci to indicate relative capability and cost. Davinci is more capable (at a higher cost) than Curie, which in turn is more capable (at a higher cost) than Babbage, and so on.
29+
30+
> [!NOTE]
31+
> Any task that can be performed by a less capable model like Ada can be performed by a more capable model like Curie or Davinci.
2532
2633
## Naming convention
2734

28-
Azure OpenAI's models follow a standard naming convention: `{task}-{model name}-{version #}`. For example, our most powerful natural language model is called `text-davinci-001` and a Codex series model would look like `code-cushman-001`.
35+
Azure OpenAI's model names typically correspond to the following standard naming convention:
2936

30-
> Older versions of the GPT-3 models are available as `ada`, `babbage`, `curie`, `davinci` and do not follow these conventions. These models are primarily intended to be used for fine-tuning and search.
37+
`{family}-{capability}[-{input-type}]-{identifier}`
38+
39+
| Element | Description |
40+
| --- | --- |
41+
| `{family}` | The model family of the model. For example, [GPT-3 models](#gpt-3-models) uses `text`, while [Codex models](#codex-models) use `code`.|
42+
| `{capability}` | The relative capability of the model. For example, GPT-3 models include `ada`, `babbage`, `curie`, and `davinci`.|
43+
| `{input-type}` | ([Embeddings models](#embeddings-models) only) The input type of the embedding supported by the model. For example, text search embedding models include `doc` and `query`.|
44+
| `{identifier}` | The version identifier of the model. |
45+
46+
For example, most powerful GPT-3 model is called `text-davinci-002`, while our most powerful Codex model is called `code-davinci-002`.
47+
48+
> Older versions of the GPT-3 models are available, named `ada`, `babbage`, `curie`, and `davinci`. These older models do not follow the standard naming conventions, and they are primarily intended for fine tuning. For more information, see [Learn how to customize a model for your application](../how-to/fine-tuning.md).
3149
3250
## Finding what models are available
3351

3452
You can easily see the models you have available for both inference and fine-tuning in your resource by using the [Models API](../reference.md#models).
3553

54+
## GPT-3 models
3655

37-
## GPT-3 Series
38-
39-
The GPT-3 models can understand and generate natural language. The service offers four model types with different levels of power suitable for different tasks. Davinci is the most capable model, and Ada is the fastest. Going forward these models are named with the following convention: `text-{model name}-XXX` where `XXX` refers to a numerical value for different versions of the model. Currently the latest versions are:
56+
The GPT-3 models can understand and generate natural language. The service offers four model capabilities, each with different levels of power and speed suitable for different tasks. Davinci is the most capable model, while Ada is the fastest. The following list represents the latest versions of GPT-3 models, ordered by increasing capability.
4057

41-
- text-ada-001
42-
- text-babbage-001
43-
- text-curie-001
44-
- text-davinci-001
58+
- `text-ada-001`
59+
- `text-babbage-001`
60+
- `text-curie-001`
61+
- `text-davinci-002`
4562

46-
While Davinci is the most capable, the other models provide significant speed advantages. Our recommendation is for users to start with Davinci while experimenting since it will produce the best results and validate the value our service can provide. Once you have a prototype working, you can then optimize your model choice with the best latency - performance tradeoff for your application.
63+
While Davinci is the most capable, the other models provide significant speed advantages. Our recommendation is for users to start with Davinci while experimenting, because it will produce the best results and validate the value our service can provide. Once you have a prototype working, you can then optimize your model choice with the best latency/performance balance for your application.
4764

48-
### Davinci
65+
### <a id="gpt-3-davinci"></a>Davinci
4966

50-
Davinci is the most capable model and can perform any task the other models can perform and often with less instruction. For applications requiring deep understanding of the content, like summarization for a specific audience and creative content generation, Davinci is going to produce the best results. These increased capabilities require more compute resources, so Davinci costs more and isn't as fast as the other models.
67+
Davinci is the most capable model and can perform any task the other models can perform, often with less instruction. For applications requiring deep understanding of the content, like summarization for a specific audience and creative content generation, Davinci produces the best results. These increased capabilities require more compute resources, so Davinci costs more and isn't as fast as the other models.
5168

5269
Another area where Davinci excels is in understanding the intent of text. Davinci is excellent at solving many kinds of logic problems and explaining the motives of characters. Davinci has been able to solve some of the most challenging AI problems involving cause and effect.
5370

@@ -61,7 +78,7 @@ Curie is powerful, yet fast. While Davinci is stronger when it comes to analyzin
6178

6279
### Babbage
6380

64-
Babbage can perform straightforward tasks like simple classification. It’s also capable when it comes to semantic search ranking how well documents match up with search queries.
81+
Babbage can perform straightforward tasks like simple classification. It’s also capable when it comes to semantic search, ranking how well documents match up with search queries.
6582

6683
**Use for**: Moderate classification, semantic search classification
6784

@@ -71,58 +88,65 @@ Ada is usually the fastest model and can perform tasks like parsing text, addres
7188

7289
**Use For** Parsing text, simple classification, address correction, keywords
7390

74-
> [!NOTE]
75-
> Any task performed by a faster model like Ada can be performed by a more powerful model like Curie or Davinci.
76-
77-
## Codex Series
91+
## Codex models
7892

7993
The Codex models are descendants of our base GPT-3 models that can understand and generate code. Their training data contains both natural language and billions of lines of public code from GitHub.
8094

81-
They’re most capable in Python and proficient in over a dozen languages, including C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell.
95+
They’re most capable in Python and proficient in over a dozen languages, including C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell. The following list represents the latest versions of Codex models, ordered by increasing capability.
96+
97+
- `code-cushman-001`
98+
- `code-davinci-002`
99+
100+
### <a id="codex-davinci"></a>Davinci
101+
102+
Similar to GPT-3, Davinci is the most capable Codex model and can perform any task the other models can perform, often with less instruction. For applications requiring deep understanding of the content, like summarization for a specific audience and creative content generation, Davinci produces the best results. These increased capabilities require more compute resources, so Davinci costs more and isn't as fast as the other models.
103+
104+
### Cushman
105+
106+
Cushman is powerful, yet fast. While Davinci is stronger when it comes to analyzing complicated tasks, Cushman is quite capable for many code generation tasks and typically runs faster (and at a lower cost) than Davinci.
82107

83-
Currently we only offer one Codex model: `code-cushman-001`.
108+
## Embeddings models
84109

85-
## Embeddings Models
110+
Currently, we offer three families of Embeddings models for different functionalities: text search, text similarity, and code search. Each family includes models across the following spectrum of capabilities:
86111

87-
Currently we offer three families of embedding models for different functionalities: text search, text similarity and code search. Each family includes up to four models across a spectrum of capabilities:
112+
- Ada: 1024 dimensions
113+
- Babbage: 2048 dimensions
114+
- Curie: 4096 dimensions
115+
- Davinci: 12,288 dimensions
88116

89-
Ada (1024 dimensions),
90-
Babbage (2048 dimensions),
91-
Curie (4096 dimensions),
92-
Davinci (12,288 dimensions).
93117
Davinci is the most capable, but is slower and more expensive than the other models. Ada is the least capable, but is both faster and cheaper.
94118

95-
These embedding models are specifically created to be good at a particular task.
119+
These Embeddings models are specifically created to be good at a particular task.
96120

97-
### Similarity embeddings
121+
### Similarity embedding
98122

99123
These models are good at capturing semantic similarity between two or more pieces of text.
100124

101-
| USE CASES | AVAILABLE MODELS |
125+
| Use cases | Models |
102126
|---|---|
103-
| Clustering, regression, anomaly detection, visualization |Text-similarity-ada-001, <br> text-similarity-babbage-001, <br> text-similarity-curie-001, <br> text-similarity-davinci-001 <br>|
127+
| Clustering, regression, anomaly detection, visualization | `text-similarity-ada-001` <br> `text-similarity-babbage-001` <br> `text-similarity-curie-001` <br> `text-similarity-davinci-001` <br>|
104128

105-
### Text search embeddings
129+
### Text search embedding
106130

107-
These models help measure whether long documents are relevant to a short search query. There are two types: one for embedding the documents to be retrieved, and one for embedding the search query.
131+
These models help measure whether long documents are relevant to a short search query. There are two input types supported by this family: `doc`, for embedding the documents to be retrieved, and `query`, for embedding the search query.
108132

109-
| USE CASES | AVAILABLE MODELS |
133+
| Use cases | Models |
110134
|---|---|
111-
| Search, context relevance, information retrieval | text-search-ada-doc-001, <br> text-search-ada-query-001 <br> text-search-babbage-doc-001, <br> text-search-babbage-query-001, <br> text-search-curie-doc-001, <br> text-search-curie-query-001, <br> text-search-davinci-doc-001, <br> text-search-davinci-query-001 <br> |
135+
| Search, context relevance, information retrieval | `text-search-ada-doc-001` <br> `text-search-ada-query-001` <br> `text-search-babbage-doc-001` <br> `text-search-babbage-query-001` <br> `text-search-curie-doc-001` <br> `text-search-curie-query-001` <br> `text-search-davinci-doc-001` <br> `text-search-davinci-query-001` <br> |
112136

113-
### Code search embeddings
137+
### Code search embedding
114138

115-
Similar to text search embeddings, there are two types: one for embedding code snippets to be retrieved and one for embedding natural language search queries.
139+
Similar to text search embedding models, there are two input types supported by this family: `code`, for embedding code snippets to be retrieved, and `text`, for embedding natural language search queries.
116140

117-
| USE CASES | AVAILABLE MODELS |
141+
| Use cases | Models |
118142
|---|---|
119-
| Code search and relevance | code-search-ada-code-001, <br> code-search-ada-text-001, <br> code-search-babbage-code-001, <br> code-search-babbage-text-001 |
143+
| Code search and relevance | `code-search-ada-code-001` <br> `code-search-ada-text-001` <br> `code-search-babbage-code-001` <br> `code-search-babbage-text-001` |
120144

121-
When using our embedding models, keep in mind their limitations and risks.
145+
When using our Embeddings models, keep in mind their limitations and risks.
122146

123147
## Finding the right model
124148

125-
We recommend starting with our Davinci model since it will be the best way to understand what the service is capable of. After you have an idea of what you want to accomplish, you can either stay with Davinci if you’re not concerned about cost and speed, or you can move onto Curie or another model and try to optimize around its capabilities.
149+
We recommend starting with the most powerful model in a model family, such as the Davinci model, because it's the best way to understand what the service is capable of. After you have an idea of what you want to accomplish, you can either stay with that model or, if balancing capability and cost is a concern for your application, you can move to a model with lower capability and cost, such as Curie or Cushman, and optimize around its capability.
126150

127151
## Next steps
128152

articles/cognitive-services/openai/how-to/completions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ While all prompts result in completions, it can be helpful to think of text comp
295295
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
296296
```
297297

298-
This next prompt shows how you can use completion to help write React components. We send some code to the API, and it's able to continue the rest because it has an understanding of the React library. We recommend using OpenAI's Codex models for tasks that involve understanding or generating code. Currently only `code-cushman-001` is supported.
298+
This next prompt shows how you can use completion to help write React components. We send some code to the API, and it's able to continue the rest because it has an understanding of the React library. We recommend using models from our Codex series for tasks that involve understanding or generating code. Currently, we support two Codex models: `code-davinci-002` and `code-cushman-001`. For more information about Codex models, see the [Codex models](../concepts/models.md#codex-models) section in [Models](../concepts/models.md).
299299

300300
```
301301
import React from 'react';
@@ -355,7 +355,7 @@ Q:
355355

356356
## Working with code
357357

358-
The Codex model series is a descendant of OpenAI's base GPT-3 series that's been trained on both natural language and billions of lines of code. It's most capable in Python and proficient in over a dozen languages including JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell.
358+
The Codex model series is a descendant of OpenAI's base GPT-3 series that's been trained on both natural language and billions of lines of code. It's most capable in Python and proficient in over a dozen languages including C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell.
359359

360360
You can use Codex for a variety of tasks including:
361361

@@ -503,7 +503,7 @@ Create a list of random animals and species
503503
animals = [ {"name": "Chomper", "species": "Hamster"}, {"name":
504504
```
505505

506-
**Lower temperatures give more precise results.** Setting the API temperature to 0, or close to zero (such as 0.1 or 0.2) tends to give better results in most cases. Unlike GPT-3, where a higher temperature can provide useful creative and random results, higher temperatures with Codex may give you really random or erratic responses.
506+
**Lower temperatures give more precise results.** Setting the API temperature to 0, or close to zero (such as 0.1 or 0.2) tends to give better results in most cases. Unlike GPT-3 models, where a higher temperature can provide useful creative and random results, higher temperatures with Codex models may give you really random or erratic responses.
507507

508508
In cases where you need Codex to provide different potential results, start at zero and then increment upwards by .1 until you find suitable variation.
509509

articles/cognitive-services/openai/how-to/integrate-synapseml.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ display(completed_autobatch_df)
171171

172172
### Prompt engineering for translation
173173

174-
The Azure OpenAI service can solve many different natural language tasks through [prompt engineering](completions.md). Here we show an example of prompting for language translation:
174+
The Azure OpenAI service can solve many different natural language tasks through [prompt engineering](completions.md). Here, we show an example of prompting for language translation:
175175

176176
```python
177177
translate_df = spark.createDataFrame(
@@ -186,7 +186,7 @@ display(completion.transform(translate_df))
186186

187187
### Prompt for question answering
188188

189-
Here, we prompt GPT-3 for general-knowledge question answering:
189+
Here, we prompt the GPT-3 model for general-knowledge question answering:
190190

191191
```python
192192
qa_df = spark.createDataFrame(

articles/cognitive-services/openai/how-to/work-with-code.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ keywords:
1515

1616
# Codex models and Azure OpenAI
1717

18-
The Codex model series is a descendant of our GPT-3 series that's been trained on both natural language and billions of lines of code. It's most capable in Python and proficient in over a dozen languages including JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell.
18+
The Codex model series is a descendant of our GPT-3 series that's been trained on both natural language and billions of lines of code. It's most capable in Python and proficient in over a dozen languages including C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, and even Shell.
1919

2020
You can use Codex for a variety of tasks including:
2121

@@ -27,7 +27,7 @@ You can use Codex for a variety of tasks including:
2727

2828
## How to use the Codex models
2929

30-
Here are a few examples of using Codex that can be tested in the [Azure OpenAI Studio's](https://oai.azure.com) playground with a deployment of a code series model such as `code-cushman-001`.
30+
Here are a few examples of using Codex that can be tested in the [Azure OpenAI Studio's](https://oai.azure.com) playground with a deployment of a Codex series model, such as `code-davinci-002`.
3131

3232
### Saying "Hello" (Python)
3333

@@ -180,7 +180,7 @@ animals = [ {"name": "Chomper", "species": "Hamster"}, {"name":
180180

181181
### Lower temperatures give more precise results
182182

183-
Setting the API temperature to 0, or close to zero (such as 0.1 or 0.2) tends to give better results in most cases. Unlike GPT-3, where a higher temperature can provide useful creative and random results, higher temperatures with Codex may give you really random or erratic responses.
183+
Setting the API temperature to 0, or close to zero (such as 0.1 or 0.2) tends to give better results in most cases. Unlike GPT-3 models, where a higher temperature can provide useful creative and random results, higher temperatures with Codex models may give you really random or erratic responses.
184184

185185
In cases where you need Codex to provide different potential results, start at zero and then increment upwards by 0.1 until you find suitable variation.
186186

0 commit comments

Comments
 (0)