databricks/dolly-v2-12b · Hugging Face (2024)

Summary

Databricks' dolly-v2-12b, an instruction-following large language model trained on the Databricks machine learning platform that is licensed for commercial use. Based on pythia-12b, Dolly is trained on ~15k instruction/response fine tuning records databricks-dolly-15k generated by Databricks employees in capability domains from the InstructGPT paper, including brainstorming, classification, closed QA, generation,information extraction, open QA and summarization. dolly-v2-12b is not a state-of-the-art model, but does exhibit surprisingly high quality instruction following behavior not characteristic of the foundation model on which it is based.

Dolly v2 is also available in these smaller models sizes:

  • dolly-v2-7b, a 6.9 billion parameter based on pythia-6.9b
  • dolly-v2-3b, a 2.8 billion parameter based on pythia-2.8b

Please refer to the dolly GitHub repo for tips on running inference for various GPU configurations.

Owner: Databricks, Inc.

Model Overview

dolly-v2-12b is a 12 billion parameter causal language model created by Databricks that is derived from EleutherAI's Pythia-12b and fine-tuned on a ~15K record instruction corpus generated by Databricks employees and released under a permissive license (CC-BY-SA)

Usage

To use the model with the transformers library on a machine with GPUs, first make sure you have the transformers and accelerate libraries installed.In a Databricks notebook you could run:

%pip install "accelerate>=0.16.0,<1" "transformers[torch]>=4.28.1,<5" "torch>=1.13.1,<2"

The instruction following pipeline can be loaded using the pipeline function as shown below. This loads a custom InstructionTextGenerationPipeline found in the model repo here, which is why trust_remote_code=True is required.Including torch_dtype=torch.bfloat16 is generally recommended if this type is supported in order to reduce memory usage. It does not appear to impact output quality.It is also fine to remove it if there is sufficient memory.

import torchfrom transformers import pipelinegenerate_text = pipeline(model="databricks/dolly-v2-12b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto")

You can then use the pipeline to answer instructions:

res = generate_text("Explain to me the difference between nuclear fission and fusion.")print(res[0]["generated_text"])

Alternatively, if you prefer to not use trust_remote_code=True you can download instruct_pipeline.py,store it alongside your notebook, and construct the pipeline yourself from the loaded model and tokenizer:

import torchfrom instruct_pipeline import InstructionTextGenerationPipelinefrom transformers import AutoModelForCausalLM, AutoTokenizertokenizer = AutoTokenizer.from_pretrained("databricks/dolly-v2-12b", padding_side="left")model = AutoModelForCausalLM.from_pretrained("databricks/dolly-v2-12b", device_map="auto", torch_dtype=torch.bfloat16)generate_text = InstructionTextGenerationPipeline(model=model, tokenizer=tokenizer)

LangChain Usage

To use the pipeline with LangChain, you must set return_full_text=True, as LangChain expects the full text to be returned and the default for the pipeline is to only return the new text.

import torchfrom transformers import pipelinegenerate_text = pipeline(model="databricks/dolly-v2-12b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", return_full_text=True)

You can create a prompt that either has only an instruction or has an instruction with context:

from langchain import PromptTemplate, LLMChainfrom langchain.llms import HuggingFacePipeline# template for an instrution with no inputprompt = PromptTemplate( input_variables=["instruction"], template="{instruction}")# template for an instruction with inputprompt_with_context = PromptTemplate( input_variables=["instruction", "context"], template="{instruction}\n\nInput:\n{context}")hf_pipeline = HuggingFacePipeline(pipeline=generate_text)llm_chain = LLMChain(llm=hf_pipeline, prompt=prompt)llm_context_chain = LLMChain(llm=hf_pipeline, prompt=prompt_with_context)

Example predicting using a simple instruction:

print(llm_chain.predict(instruction="Explain to me the difference between nuclear fission and fusion.").lstrip())

Example predicting using an instruction with context:

context = """George Washington (February 22, 1732[b] - December 14, 1799) was an American military officer, statesman,and Founding Father who served as the first president of the United States from 1789 to 1797."""print(llm_context_chain.predict(instruction="When was George Washington president?", context=context).lstrip())

Known Limitations

Performance Limitations

dolly-v2-12b is not a state-of-the-art generative language model and, though quantitative benchmarking is ongoing, is not designed to perform competitively with more modern model architectures or models subject to larger pretraining corpuses.

The Dolly model family is under active development, and so any list of shortcomings is unlikely to be exhaustive, but we include known limitations and misfires here as a means to document and share our preliminary findings with the community.
In particular, dolly-v2-12b struggles with: syntactically complex prompts, programming problems, mathematical operations, factual errors, dates and times, open-ended question answering, hallucination, enumerating lists of specific length, stylistic mimicry, having a sense of humor, etc.Moreover, we find that dolly-v2-12b does not have some capabilities, such as well-formatted letter writing, present in the original model.

Dataset Limitations

Like all language models, dolly-v2-12b reflects the content and limitations of its training corpuses.

  • The Pile: GPT-J's pre-training corpus contains content mostly collected from the public internet, and like most web-scale datasets,it contains content many users would find objectionable. As such, the model is likely to reflect these shortcomings, potentially overtlyin the case it is explicitly asked to produce objectionable content, and sometimes subtly, as in the case of biased or harmful implicitassociations.

  • databricks-dolly-15k: The training data on which dolly-v2-12b is instruction tuned represents natural language instructions generatedby Databricks employees during a period spanning March and April 2023 and includes passages from Wikipedia as references passagesfor instruction categories like closed QA and summarization. To our knowledge it does not contain obscenity, intellectual property orpersonally identifying information about non-public figures, but it may contain typos and factual errors.The dataset may also reflect biases found in Wikipedia. Finally, the dataset likely reflectsthe interests and semantic choices of Databricks employees, a demographic which is not representative of the global population at large.

Databricks is committed to ongoing research and development efforts to develop helpful, honest and harmless AI technologies that maximize the potential of all individuals and organizations.

Benchmark Metrics

Below you'll find various models benchmark performance on the EleutherAI LLM Evaluation Harness; model results are sorted by geometric mean to produce an intelligible ordering. As outlined above, these results demonstrate that dolly-v2-12b is not state of the art, and in fact underperforms dolly-v1-6b in some evaluation benchmarks. We believe this owes to the composition and size of the underlying fine tuning datasets, but a robust statement as to the sources of these variations requires further study.

modelopenbookqaarc_easywinograndehellaswagarc_challengepiqaboolqgmean
EleutherAI/pythia-2.8b0.3480.5858590.5895820.5912170.3233790.733950.6382260.523431
EleutherAI/pythia-6.9b0.3680.6047980.6085240.6315480.3438570.7611530.62630.543567
databricks/dolly-v2-3b0.3840.6115320.5895820.6507670.3703070.7426550.5755350.544886
EleutherAI/pythia-12b0.3640.6271040.6361480.6680940.3464160.7600650.6733940.559676
EleutherAI/gpt-j-6B0.3820.6216330.6511440.6626170.3634810.7611530.6559630.565936
databricks/dolly-v2-12b0.4080.639310.6164170.7079270.3882250.7578890.5681960.56781
databricks/dolly-v2-7b0.3920.6338380.6077350.6865170.4069970.7508160.6440370.573487
databricks/dolly-v1-6b0.410.629630.6432520.6767580.3848120.7736670.6877680.583431
EleutherAI/gpt-neox-20b0.4020.6839230.6566690.71420.4087030.7840040.6954130.602236
@online{DatabricksBlog2023DollyV2, author = {Mike Conover and Matt Hayes and Ankit Mathur and Jianwei Xie and Jun Wan and Sam Shah and Ali Ghodsi and Patrick Wendell and Matei Zaharia and Reynold Xin}, title = {Free Dolly: Introducing the World's First Truly Open Instruction-Tuned LLM}, year = {2023}, url = {https://www.databricks.com/blog/2023/04/12/dolly-first-open-commercially-viable-instruction-tuned-llm}, urldate = {2023-06-30}}
databricks/dolly-v2-12b · Hugging Face (2024)

References

Top Articles
SimpliSafe Troubleshooting: Fix Your Security
SimpliSafe Keypad Not Working? 4 Solutions (Solved)
9294164879
Corgsky Puppies For Sale
Camila Cabello Wikifeet
How To Pay My Big Lots Credit Card
Discover the Hidden Gems of Greenbush MI: A Charming Lakeside Retreat - 200smichigan.com (UPDATE 👍)
Select Walgreens Stores: Lasko 16&quot; Stand Fan $7.50 &amp; More + Free Store Pickup on $10+
College Basketball Predictions & Picks Today 🏀 [Incl. March Madness]
Paulette Goddard | American Actress, Modern Times, Charlie Chaplin
Fintechzoommortgagecalculator.live Hours
Nyu Paralegal Program
Sunday Td Bank
T33N Leaks 5 17
Lorain County Busted Mugshots
Craigslist Pets Baton Rouge La
Xxc Renegade 1000 Xxc Price In India Price
Christmas Song Figgerits
Bbc Weather Boca Raton
Fishweather
Nephi Veterinarian
Greenville Daily Advocate Greenville Ohio
Beetrose 'Planten un Blomen' - Rosa 'Planten un Blomen' ADR-Rose
Elemental Showtimes Near Regal White Oak
Dell Optiplex 7010 Drivers Download and Update for Windows 10
Ktbs Payroll Login
Craigsliststcloud
Rek Funerals
Money Network Pay Stub Portal 711
Erfahrungen mit Rheumaklinik Bad Aibling, Reha-Klinik, Bayern
Power Outage Map National Grid
Black Myth Wukong All Secrets in Chapter 6
Dimmitt Range Rover
Melanie, Singer Who Performed at Woodstock and Topped Charts With ‘Brand New Key,’ Dies at 76
Seatgeek Seat View
Cashflow Manager Avid
Briggs And Stratton 125Cc Lawn Mower
Clarksburg Wv Craigslist Personals
Wiki Jfk Film
M7 Bus
Accuradio Unblocked
NO CLUE: deutsche Übersetzung von NCT 127
How Much Does Costco Gas Cost Today? Snapshot of Prices Across the U.S. | CostContessa
Stafford Rotoworld
Ebony Ts Facials
Salon5 – Europa, was geht? – Podcast
Calliegraphics
Kgtv Tv Listings
Carenow Urgent Care - Eastchase Fort Worth Photos
new hampshire real estate - craigslist
Lottozahlen für LOTTO 6aus49 | LOTTO Bayern
Latest Posts
Article information

Author: Sen. Emmett Berge

Last Updated:

Views: 6279

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Sen. Emmett Berge

Birthday: 1993-06-17

Address: 787 Elvis Divide, Port Brice, OH 24507-6802

Phone: +9779049645255

Job: Senior Healthcare Specialist

Hobby: Cycling, Model building, Kitesurfing, Origami, Lapidary, Dance, Basketball

Introduction: My name is Sen. Emmett Berge, I am a funny, vast, charming, courageous, enthusiastic, jolly, famous person who loves writing and wants to share my knowledge and understanding with you.