quaterion


Namequaterion JSON
Version 0.1.35 PyPI version JSON
download
home_pagehttps://github.com/qdrant/quaterion
SummarySimilarity Learning fine-tuning framework
upload_time2023-03-30 07:07:27
maintainer
docs_urlNone
authorQuaterion Authors
requires_python>=3.8,<3.11
license
keywords framework similarity-learning metric-learning similarity deep-learning pytorch
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img height="100" src="docs/imgs/logo.svg" alt="Quaterion">
</p>

<p align="center">
    <b>Blazing fast framework for fine-tuning Similarity Learning models</b>
</p>

<p align=center>
    <a href="https://pypi.org/project/quaterion"><img src="https://img.shields.io/pypi/v/quaterion?label=pypi" alt="Version" /></a>
    <a href="https://github.com/qdrant/quaterion/actions/workflows/test.yml"><img src="https://github.com/qdrant/quaterion/actions/workflows/test.yml/badge.svg" alt="Tests status"></a>
    <a href="https://qdrant.to/discord"><img src="https://img.shields.io/badge/Discord-Qdrant-5865F2.svg?logo=discord" alt="Discord"></a>
    <a href="https://quaterion.qdrant.tech"><img src="https://img.shields.io/badge/Learn-Docs%20%26%20Tutorials-success" alt="Docs & Tutorials" /></a>
</p>

>  A dwarf on a giant's shoulders sees farther of the two

Quaterion is a framework for fine-tuning similarity learning models.
The framework closes the "last mile" problem in training models for semantic search, recommendations, anomaly detection, extreme classification, matching engines, e.t.c.

It is designed to combine the performance of pre-trained models with specialization for the custom task while avoiding slow and costly training.


## Features

* 🌀 **Warp-speed fast**: With the built-in caching mechanism, Quaterion enables you to train thousands of epochs with huge batch sizes even on *laptop GPU*.

<p align="center">
  <img alt="Regular vs Cached Fine-Tuning" src="https://storage.googleapis.com/quaterion/docs/new-cmp-demo.gif">
</p>

* 🐈‍ **Small data compatible**: Pre-trained models with specially designed head layers allow you to benefit even from a dataset you can label *in one day*.


* 🏗️ **Customizable**: Quaterion allows you to re-define any part of the framework, making it flexible even for large-scale and sophisticated training pipelines.


* 🌌 **Scalable**: Quaterion is built on top of [PyTorch Lightning](https://github.com/Lightning-AI/lightning) and inherits all its scalability, cost-efficiency, and reliability perks.

## Installation

TL;DR:

For training:
```bash
pip install quaterion
```

For inference service:
```bash
pip install quaterion-models
```

---

Quaterion framework consists of two packages - `quaterion` and [`quaterion-models`](https://github.com/qdrant/quaterion-models).

Since it is not always possible or convenient to represent a model in ONNX format (also, it **is supported**), the Quaterion keeps a very minimal collection of model classes, which might be required for model inference, in a [separate package](https://github.com/qdrant/quaterion-models).

It allows avoiding installing heavy training dependencies into inference infrastructure: `pip install quaterion-models`

At the same time, once you need to have a full arsenal of tools for training and debugging models, it is available in one package: `pip install quaterion`


## Docs 📓

* [Quick Start](https://quaterion.qdrant.tech/getting_started/quick_start.html) Guide
* Minimal working [examples](./examples)

For a more in-depth dive, check out our end-to-end tutorials:

- Fine-tuning NLP models - [Q&A systems](https://quaterion.qdrant.tech/tutorials/nlp_tutorial.html)
- Fine-tuning CV models - [Similar Cars Search](https://quaterion.qdrant.tech/tutorials/cars-tutorial.html)

Tutorials for advanced features of the framework:

- [Cache tutorial](https://quaterion.qdrant.tech/tutorials/cache_tutorial.html) - How to make training fast.
- [Head Layers: Skip Connection](https://quaterion.qdrant.tech/tutorials/head_layers_skip_connection.html) - How to avoid forgetting while fine-tuning
- [Embedding Confidence](https://quaterion.qdrant.tech/tutorials/embedding_confidence.html) - how do I know that the model is sure about the output vector?
- [Vector Collapse Prevention](https://quaterion.qdrant.tech/tutorials/triplet_loss_trick.html) - how to prevent vector space collapse in Triplet Loss


## Community

* Join our [Discord channel](https://qdrant.to/discord)
* Follow us on [Twitter](https://qdrant.to/twitter)
* Subscribe to our [Newsletters](https://qdrant.to/newsletter)
* Write us an email [info@qdrant.tech](mailto:info@qdrant.tech)

## License

Quaterion is licensed under the Apache License, Version 2.0. View a copy of the [License file](https://github.com/qdrant/quaterion/blob/master/LICENSE).


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/qdrant/quaterion",
    "name": "quaterion",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<3.11",
    "maintainer_email": "",
    "keywords": "framework,similarity-learning,metric-learning,similarity,deep-learning,pytorch",
    "author": "Quaterion Authors",
    "author_email": "team@quaterion.tech",
    "download_url": "https://files.pythonhosted.org/packages/40/7b/7726ab1a88b36a3604bfb8d9e7b96a6ba2c5e53d4903d735c6e0c56952d7/quaterion-0.1.35.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img height=\"100\" src=\"docs/imgs/logo.svg\" alt=\"Quaterion\">\n</p>\n\n<p align=\"center\">\n    <b>Blazing fast framework for fine-tuning Similarity Learning models</b>\n</p>\n\n<p align=center>\n    <a href=\"https://pypi.org/project/quaterion\"><img src=\"https://img.shields.io/pypi/v/quaterion?label=pypi\" alt=\"Version\" /></a>\n    <a href=\"https://github.com/qdrant/quaterion/actions/workflows/test.yml\"><img src=\"https://github.com/qdrant/quaterion/actions/workflows/test.yml/badge.svg\" alt=\"Tests status\"></a>\n    <a href=\"https://qdrant.to/discord\"><img src=\"https://img.shields.io/badge/Discord-Qdrant-5865F2.svg?logo=discord\" alt=\"Discord\"></a>\n    <a href=\"https://quaterion.qdrant.tech\"><img src=\"https://img.shields.io/badge/Learn-Docs%20%26%20Tutorials-success\" alt=\"Docs & Tutorials\" /></a>\n</p>\n\n>  A dwarf on a giant's shoulders sees farther of the two\n\nQuaterion is a framework for fine-tuning similarity learning models.\nThe framework closes the \"last mile\" problem in training models for semantic search, recommendations, anomaly detection, extreme classification, matching engines, e.t.c.\n\nIt is designed to combine the performance of pre-trained models with specialization for the custom task while avoiding slow and costly training.\n\n\n## Features\n\n* \ud83c\udf00 **Warp-speed fast**: With the built-in caching mechanism, Quaterion enables you to train thousands of epochs with huge batch sizes even on *laptop GPU*.\n\n<p align=\"center\">\n  <img alt=\"Regular vs Cached Fine-Tuning\" src=\"https://storage.googleapis.com/quaterion/docs/new-cmp-demo.gif\">\n</p>\n\n* \ud83d\udc08\u200d **Small data compatible**: Pre-trained models with specially designed head layers allow you to benefit even from a dataset you can label *in one day*.\n\n\n* \ud83c\udfd7\ufe0f **Customizable**: Quaterion allows you to re-define any part of the framework, making it flexible even for large-scale and sophisticated training pipelines.\n\n\n* \ud83c\udf0c **Scalable**: Quaterion is built on top of [PyTorch Lightning](https://github.com/Lightning-AI/lightning) and inherits all its scalability, cost-efficiency, and reliability perks.\n\n## Installation\n\nTL;DR:\n\nFor training:\n```bash\npip install quaterion\n```\n\nFor inference service:\n```bash\npip install quaterion-models\n```\n\n---\n\nQuaterion framework consists of two packages - `quaterion` and [`quaterion-models`](https://github.com/qdrant/quaterion-models).\n\nSince it is not always possible or convenient to represent a model in ONNX format (also, it **is supported**), the Quaterion keeps a very minimal collection of model classes, which might be required for model inference, in a [separate package](https://github.com/qdrant/quaterion-models).\n\nIt allows avoiding installing heavy training dependencies into inference infrastructure: `pip install quaterion-models`\n\nAt the same time, once you need to have a full arsenal of tools for training and debugging models, it is available in one package: `pip install quaterion`\n\n\n## Docs \ud83d\udcd3\n\n* [Quick Start](https://quaterion.qdrant.tech/getting_started/quick_start.html) Guide\n* Minimal working [examples](./examples)\n\nFor a more in-depth dive, check out our end-to-end tutorials:\n\n- Fine-tuning NLP models - [Q&A systems](https://quaterion.qdrant.tech/tutorials/nlp_tutorial.html)\n- Fine-tuning CV models - [Similar Cars Search](https://quaterion.qdrant.tech/tutorials/cars-tutorial.html)\n\nTutorials for advanced features of the framework:\n\n- [Cache tutorial](https://quaterion.qdrant.tech/tutorials/cache_tutorial.html) - How to make training fast.\n- [Head Layers: Skip Connection](https://quaterion.qdrant.tech/tutorials/head_layers_skip_connection.html) - How to avoid forgetting while fine-tuning\n- [Embedding Confidence](https://quaterion.qdrant.tech/tutorials/embedding_confidence.html) - how do I know that the model is sure about the output vector?\n- [Vector Collapse Prevention](https://quaterion.qdrant.tech/tutorials/triplet_loss_trick.html) - how to prevent vector space collapse in Triplet Loss\n\n\n## Community\n\n* Join our [Discord channel](https://qdrant.to/discord)\n* Follow us on [Twitter](https://qdrant.to/twitter)\n* Subscribe to our [Newsletters](https://qdrant.to/newsletter)\n* Write us an email [info@qdrant.tech](mailto:info@qdrant.tech)\n\n## License\n\nQuaterion is licensed under the Apache License, Version 2.0. View a copy of the [License file](https://github.com/qdrant/quaterion/blob/master/LICENSE).\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Similarity Learning fine-tuning framework",
    "version": "0.1.35",
    "split_keywords": [
        "framework",
        "similarity-learning",
        "metric-learning",
        "similarity",
        "deep-learning",
        "pytorch"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ffc726f75878ade07cc6f32e828cb888ac40650f7f4640c72534aaea3017800e",
                "md5": "48ad1fc6b84eaea3b5de87c6d1852eb5",
                "sha256": "80327af9045e9021c9e8927943b71702a36a3205bfe32854b2938d60e7872baa"
            },
            "downloads": -1,
            "filename": "quaterion-0.1.35-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "48ad1fc6b84eaea3b5de87c6d1852eb5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<3.11",
            "size": 77178,
            "upload_time": "2023-03-30T07:07:23",
            "upload_time_iso_8601": "2023-03-30T07:07:23.840716Z",
            "url": "https://files.pythonhosted.org/packages/ff/c7/26f75878ade07cc6f32e828cb888ac40650f7f4640c72534aaea3017800e/quaterion-0.1.35-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "407b7726ab1a88b36a3604bfb8d9e7b96a6ba2c5e53d4903d735c6e0c56952d7",
                "md5": "c66be07c48ddee1546a56cfbd80e486f",
                "sha256": "2b8fc386565089f72b7a506f5e1b1d45d44d05a91854d9043b2ac048f20a3283"
            },
            "downloads": -1,
            "filename": "quaterion-0.1.35.tar.gz",
            "has_sig": false,
            "md5_digest": "c66be07c48ddee1546a56cfbd80e486f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<3.11",
            "size": 50246,
            "upload_time": "2023-03-30T07:07:27",
            "upload_time_iso_8601": "2023-03-30T07:07:27.537402Z",
            "url": "https://files.pythonhosted.org/packages/40/7b/7726ab1a88b36a3604bfb8d9e7b96a6ba2c5e53d4903d735c6e0c56952d7/quaterion-0.1.35.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-30 07:07:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "qdrant",
    "github_project": "quaterion",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "quaterion"
}
        
Elapsed time: 0.05269s