bol20162021
commited on
Commit
·
2d1c28d
1
Parent(s):
882baad
readme
Browse files
README.md
CHANGED
@@ -1,3 +1,129 @@
|
|
1 |
---
|
2 |
license: other
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: other
|
3 |
---
|
4 |
+
# LLaMA-30B-toolbench
|
5 |
+
|
6 |
+
<!-- Provide a quick summary of what the model is/does. -->
|
7 |
+
|
8 |
+
LLaMA-30B-toolbench is a 30 billion parameter model used for api based action generation. It is instruction tuned from [LLaMA-30B](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md) on api based action generation datasets.
|
9 |
+
|
10 |
+
## Model Details
|
11 |
+
|
12 |
+
### Model Description
|
13 |
+
|
14 |
+
<!-- Provide a longer summary of what this model is. -->
|
15 |
+
|
16 |
+
- **Developed by:** [SambaNova Systems](https://sambanova.ai/)
|
17 |
+
- **Model type:** Language Model
|
18 |
+
- **Language(s):** English
|
19 |
+
- **License:** Same as LLaMA model https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md
|
20 |
+
|
21 |
+
- **Finetuned from model:** [LLaMA-30B](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md)
|
22 |
+
|
23 |
+
### Basic Information
|
24 |
+
|
25 |
+
<!-- Provide the basic links for the model. -->
|
26 |
+
- **Paper**: [Link]
|
27 |
+
- **Github**: [Link]
|
28 |
+
|
29 |
+
|
30 |
+
## Uses
|
31 |
+
<details>
|
32 |
+
<summary>Click to expand</summary>
|
33 |
+
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
34 |
+
|
35 |
+
### Direct Use
|
36 |
+
|
37 |
+
<!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
|
38 |
+
This model is intended for research use.
|
39 |
+
|
40 |
+
|
41 |
+
### Out-of-Scope Use
|
42 |
+
|
43 |
+
<!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
|
44 |
+
|
45 |
+
|
46 |
+
LLaMA-30B-toolbench should NOT be used for purpose other than API based action generation.
|
47 |
+
|
48 |
+
### Recommendations
|
49 |
+
|
50 |
+
<!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
|
51 |
+
|
52 |
+
Users should be made aware of the risks, biases, limitations, and restrictions of the model.
|
53 |
+
|
54 |
+
</details>
|
55 |
+
|
56 |
+
|
57 |
+
---
|
58 |
+
## How to Get Started with the Model
|
59 |
+
|
60 |
+
<details>
|
61 |
+
<summary>Click to expand</summary>
|
62 |
+
|
63 |
+
|
64 |
+
### Suggested Inference Parameters
|
65 |
+
- do_sample: False
|
66 |
+
|
67 |
+
### Suggested Prompts To Try in GPU Tutorial
|
68 |
+
```
|
69 |
+
Input text: I have the following set of API:\n\n# To set the maximum commute time in minute to your office location, assuming the office location is already defined\nAPI.set_max_commute_time(value: int)\n\n# To set the maximum home size in square feet\nAPI.set_max_square_feet(value: int)\n\n# To set the minimum home price in dollars\nAPI.set_min_price(value: int)\n\n# To set the number of garage(s)\nAPI.set_num_garages(value: int)\n\n# To set home types for search. For home buying, home_types choices are: \"House\", \"Townhouse\", \"Condo\", \"Land\", \"Multi-family\", \"Mobile\", \"Co-op\"; for home renting, home_types choices are: \"House\", \"Townhouse\", \"Condo\", \"Apartment\".\nAPI.select_home_type(home_types: List[str])\n\n# To set the number of balconies\nAPI.set_num_balconies(value: int)\n\n# Submit criterion to get search results. This function should be called after setting all the criterion.\nAPI.search()\n\n# To set the floor number\nAPI.set_floor_number(value: int)\n\n# To set the number of bedroom(s)\nAPI.set_num_beds(value: int)\n\n# To set the number of swimming pool(s)\nAPI.set_num_swimming_pools(value: int)\n\n# To set the maximum home price in dollars\nAPI.set_max_price(value: int)\n\n# To specify whether to search homes for buying or renting. 'value' can be chosen from ['buy', 'rent']. This function must be called after setting the location and before setting any other criteria.\nAPI.set_buy_or_rent(value: str)\n\n# To set the number of bathroom(s)\nAPI.set_num_baths(value: float)\n\n# To set the location for the search area. This function must be called before setting any criteria.\nAPI.set_location(value: string)\n\n# To set the minimum home size in square feet\nAPI.set_min_square_feet(value: int)\n\n-------------\n\nTask: Looking for homes to rent in Santa Clarita with a price range between $110000 and $1753000, a minimum of 1700 square feet, at least 2 balconies, and 3.5 bathrooms.\nAction:\n
|
70 |
+
```
|
71 |
+
|
72 |
+
```
|
73 |
+
Input text: I have the following set of API:\n\n# To set the location for hotel search, given a Loc object. This function must be called if booking type is 'hotels' or 'both'.\nAPI.set_hotel_location(Loc)\n\n# To set the number of hotel rooms to book.\nAPI.set_num_rooms(value)\n\n# To set the location for departure, given a Loc object. This function must be called if booking type is 'trip tickets' or 'both'.\nAPI.set_origin(Loc)\n\n# To select the transportation type from ['flight', 'train', 'bus', 'cruise']. This function must be called if booking type is 'trip tickets' or 'both'.\nAPI.select_transportation(transportation_type)\n\n# To set the return date of the trip, given a Date object. If booking type is 'both' and this function is not called explicitly, 'return_date' will be set to 'hotel_checkout_date' implicitly.\nAPI.set_return_date(Date)\n\n# To set the hotel check-in date, given a Date object. This function must be called if booking type is 'hotels' or 'both'.\nAPI.set_checkin_date(Date)\n\n# To define a date.\ndate = Date(month, day, year)\n\n# To set the departure date of the trip, given a Date object. This function must be called if booking type is 'trip tickets'. If booking type is 'both' and this function is not called explicitly, 'departure_date' will be set to 'hotel_checkin_date' implicitly.\nAPI.set_departure_date(Date)\n\n# To set the location for arrival, given a Loc object. This function must be called if booking type is 'trip tickets' or 'both'.\nAPI.set_destination(Loc)\n\n# To define a location of a given city 'City'.\nlocation = Loc('City')\n\n# To set maximum hotel room price.\nAPI.set_max_room_price(value)\n\n# To set minimum ticket price.\nAPI.set_min_ticket_price(value)\n\n# To select the booking type from ['hotels', 'trip tickets', 'both']. This function must be called before setting any criteria.\nAPI.select_booking_type(booking_type)\n\n# To set minimum hotel room price.\nAPI.set_min_room_price(value)\n\n# To set the number of child tickets to purchase.\nAPI.set_num_children(value)\n\n# To set the number of adult tickets to purchase.\nAPI.set_num_adults(value)\n\n# To select the hotel room type from ['King Bed', 'Queen Bed', 'Double', 'Luxury'].\nAPI.select_room_type(room_type)\n\n# To set maximum ticket price.\nAPI.set_max_ticket_price(value)\n\n# Submit criterion to get search results. This function should be called after setting all the criterion.\nAPI.search()\n\n# To set the hotel check-out date, given a Date object. This function must be called if booking type is 'hotels' or 'both'.\nAPI.set_checkout_date(Date)\n\n-------------\n\nTask: Looking to book 2 adult and 4 child tickets from Stockton to Baltimore by cruise, on 2023-07-29.\nAction:\n
|
74 |
+
```
|
75 |
+
|
76 |
+
</details>
|
77 |
+
|
78 |
+
---
|
79 |
+
|
80 |
+
## Training Details
|
81 |
+
|
82 |
+
<details>
|
83 |
+
<summary>Click to expand</summary>
|
84 |
+
|
85 |
+
### Training Data
|
86 |
+
|
87 |
+
<!-- This should link to a Data Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
|
88 |
+
|
89 |
+
The training data is curated for the 8 tasks in ToolBench. See Appendix A of the [paper](dummy link) for task details and Appendix C.1 for the training data curation details. In total, there are 9704 training samples, organized in all-shot format as described in Appendix C.2. Here is the [download link](https://drive.google.com/file/d/1lUatLGnSVhfy1uVIPEQ7qCoLtnCIXi2O/view?usp=sharing) to the training data.
|
90 |
+
|
91 |
+
|
92 |
+
### Training Procedure
|
93 |
+
|
94 |
+
<!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
|
95 |
+
|
96 |
+
We trained LLaMA-30B-toolbench on 4 80GB A100 gpu's. We started from [LLaMA-30B](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md). We finetuned it on XXX dataset.
|
97 |
+
All of the code used to prepare the datasets and the scripts to run training and inference are open-sourced and freely available at [githublink here](dummy link)
|
98 |
+
|
99 |
+
|
100 |
+
### Prompting Style Used For Training
|
101 |
+
```
|
102 |
+
|
103 |
+
```
|
104 |
+
|
105 |
+
### Hyperparameters
|
106 |
+
|
107 |
+
- Hardware: A100 GPU
|
108 |
+
- Optimizer: AdamW
|
109 |
+
- Grad accumulation: 1
|
110 |
+
- Epochs: 8
|
111 |
+
- Global Batch size: 16
|
112 |
+
- Batch tokens: 16 * 2048 = 32,768 tokens
|
113 |
+
- Learning Rate: 1e-5
|
114 |
+
- Learning Rate Scheduler: Fixed LR
|
115 |
+
- Weight decay: 0.1
|
116 |
+
|
117 |
+
|
118 |
+
|
119 |
+
</details>
|
120 |
+
|
121 |
+
|
122 |
+
|
123 |
+
## Acknowledgment
|
124 |
+
|
125 |
+
|
126 |
+
## Cite LLaMA-30B-toolbench
|
127 |
+
```
|
128 |
+
TBD
|
129 |
+
```
|