2022-11-30 06:41:13 +00:00
|
|
|
[metadata]
|
|
|
|
name = petals
|
2023-01-10 11:47:58 +00:00
|
|
|
version = attr: petals.__version__
|
2022-11-30 06:41:13 +00:00
|
|
|
author = Petals Developers
|
2023-03-13 02:21:09 +00:00
|
|
|
author_email = petals-devs@googlegroups.com
|
2022-11-30 06:41:13 +00:00
|
|
|
description = Easy way to efficiently run 100B+ language models without high-end GPUs
|
|
|
|
long_description = file: README.md
|
|
|
|
long_description_content_type = text/markdown
|
|
|
|
url = https://github.com/bigscience-workshop/petals
|
|
|
|
project_urls =
|
|
|
|
Bug Tracker = https://github.com/bigscience-workshop/petals/issues
|
|
|
|
classifiers =
|
|
|
|
Development Status :: 4 - Beta
|
|
|
|
Intended Audience :: Developers
|
|
|
|
Intended Audience :: Science/Research
|
|
|
|
License :: OSI Approved :: MIT License
|
|
|
|
Programming Language :: Python :: 3
|
|
|
|
Programming Language :: Python :: 3.8
|
|
|
|
Programming Language :: Python :: 3.9
|
2023-07-19 01:15:30 +00:00
|
|
|
Programming Language :: Python :: 3.10
|
2023-08-29 03:49:27 +00:00
|
|
|
Programming Language :: Python :: 3.11
|
2022-11-30 06:41:13 +00:00
|
|
|
Topic :: Scientific/Engineering
|
|
|
|
Topic :: Scientific/Engineering :: Mathematics
|
|
|
|
Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
|
|
Topic :: Software Development
|
|
|
|
Topic :: Software Development :: Libraries
|
|
|
|
Topic :: Software Development :: Libraries :: Python Modules
|
|
|
|
|
|
|
|
[options]
|
|
|
|
package_dir =
|
|
|
|
= src
|
|
|
|
packages = find:
|
2023-07-22 09:07:43 +00:00
|
|
|
python_requires = >=3.8
|
2022-11-30 06:41:13 +00:00
|
|
|
install_requires =
|
|
|
|
torch>=1.12
|
2023-08-06 22:33:42 +00:00
|
|
|
bitsandbytes==0.41.1
|
2023-08-23 16:21:28 +00:00
|
|
|
accelerate>=0.22.0
|
2023-04-12 21:05:35 +00:00
|
|
|
huggingface-hub>=0.11.1,<1.0.0
|
Add LLaMA support (#323)
This PR:
1. **Abolishes the model conversion procedure.** Now, models are downloaded directly from original repositories like https://huggingface.co/bigscience/bloom. Servers download only shards with blocks to be hosted, and clients download only shards with input/output embeddings and layernorms.
- BLOOM is loaded from `bigscience/bloom`, but we use the DHT prefix `bigscience/bloom-petals` for backward compatibility. Same with smaller BLOOMs and BLOOMZ.
- LLaMA can be loaded from any repo like `username/llama-65b-hf`, but we use the DHT prefix `llama-65b-hf` (without the username) to accomodate blocks from different repos (there're a few of them with minor differences, such as `Llama` vs. `LLaMA` in the class name).
2. **Refactors the client to generalize it for multiple models.** Now, we have `petals.models` packages that contain model-specific code (e.g. `petals.models.bloom`, `petals.models.llama`). General code (e.g. CPU-efficient LM head, p-tuning) is kept in `petals.client`.
3. **Introduces** `WrappedLlamaBlock`, `DistributedLlamaConfig`, `DistributedLlamaForCausalLM`, `DistributedLlamaForSequenceClassification`, and `DistributedLlamaModel` compatible with Petals functionality (p-tuning, adapters, etc.).
4. **Introduces** `AutoDistributedConfig` that automatically chooses the correct config class (`DistributedLlamaConfig` or `DistributedBloomConfig`). The refactored configs contain all model-specific info for both clients and servers.
Upgrade instructions:
- Remove disk caches for blocks in old (converted) format to save disk space. That is, remove `~/.cache/petals/model--bigscience--bloom-petals` and `~/.cache/petals/model--bigscience--bloomz-petals` directories (if present).
2023-06-23 11:46:10 +00:00
|
|
|
tokenizers>=0.13.3
|
2023-08-24 21:37:30 +00:00
|
|
|
transformers>=4.32.0,<5.0.0 # if you change this, please also change version assert in petals/__init__.py
|
2022-12-15 12:21:33 +00:00
|
|
|
speedtest-cli==2.1.3
|
2023-07-23 14:45:19 +00:00
|
|
|
pydantic>=1.10,<2.0 # 2.0 is incompatible with hivemind yet
|
2023-09-02 18:57:18 +00:00
|
|
|
hivemind==1.1.10.post2
|
2023-01-03 15:35:51 +00:00
|
|
|
tensor_parallel==1.0.23
|
2022-11-30 06:41:13 +00:00
|
|
|
humanfriendly
|
|
|
|
async-timeout>=4.0.2
|
2023-08-24 15:57:15 +00:00
|
|
|
cpufeature>=0.2.0; platform_machine == "x86_64"
|
2023-01-13 12:27:10 +00:00
|
|
|
packaging>=20.9
|
Add LLaMA support (#323)
This PR:
1. **Abolishes the model conversion procedure.** Now, models are downloaded directly from original repositories like https://huggingface.co/bigscience/bloom. Servers download only shards with blocks to be hosted, and clients download only shards with input/output embeddings and layernorms.
- BLOOM is loaded from `bigscience/bloom`, but we use the DHT prefix `bigscience/bloom-petals` for backward compatibility. Same with smaller BLOOMs and BLOOMZ.
- LLaMA can be loaded from any repo like `username/llama-65b-hf`, but we use the DHT prefix `llama-65b-hf` (without the username) to accomodate blocks from different repos (there're a few of them with minor differences, such as `Llama` vs. `LLaMA` in the class name).
2. **Refactors the client to generalize it for multiple models.** Now, we have `petals.models` packages that contain model-specific code (e.g. `petals.models.bloom`, `petals.models.llama`). General code (e.g. CPU-efficient LM head, p-tuning) is kept in `petals.client`.
3. **Introduces** `WrappedLlamaBlock`, `DistributedLlamaConfig`, `DistributedLlamaForCausalLM`, `DistributedLlamaForSequenceClassification`, and `DistributedLlamaModel` compatible with Petals functionality (p-tuning, adapters, etc.).
4. **Introduces** `AutoDistributedConfig` that automatically chooses the correct config class (`DistributedLlamaConfig` or `DistributedBloomConfig`). The refactored configs contain all model-specific info for both clients and servers.
Upgrade instructions:
- Remove disk caches for blocks in old (converted) format to save disk space. That is, remove `~/.cache/petals/model--bigscience--bloom-petals` and `~/.cache/petals/model--bigscience--bloomz-petals` directories (if present).
2023-06-23 11:46:10 +00:00
|
|
|
sentencepiece>=0.1.99
|
2023-08-23 16:21:28 +00:00
|
|
|
peft>=0.5.0
|
2023-07-12 12:22:28 +00:00
|
|
|
safetensors>=0.3.1
|
2023-07-18 04:46:36 +00:00
|
|
|
Dijkstar>=2.6.0
|
2022-11-30 06:41:13 +00:00
|
|
|
|
|
|
|
[options.extras_require]
|
|
|
|
dev =
|
|
|
|
pytest==6.2.5
|
|
|
|
pytest-forked
|
|
|
|
pytest-asyncio==0.16.0
|
|
|
|
black==22.3.0
|
|
|
|
isort==5.10.1
|
|
|
|
psutil
|
|
|
|
|
|
|
|
[options.packages.find]
|
|
|
|
where = src
|