git: d3ac8e0ce54f - main - misc/py-peft: New port: Parameter-Efficient Fine-Tuning (PEFT)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 19 Sep 2025 02:02:08 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d3ac8e0ce54f4afd92aff105286b588c0b50816f
commit d3ac8e0ce54f4afd92aff105286b588c0b50816f
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-09-19 00:13:38 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-09-19 02:02:02 +0000
misc/py-peft: New port: Parameter-Efficient Fine-Tuning (PEFT)
---
misc/Makefile | 1 +
misc/py-peft/Makefile | 43 +++++++++++++++++++++++++++++++++++++++++++
misc/py-peft/distinfo | 3 +++
misc/py-peft/pkg-descr | 14 ++++++++++++++
4 files changed, 61 insertions(+)
diff --git a/misc/Makefile b/misc/Makefile
index 971051f03eda..bd6ae6ec8020 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -515,6 +515,7 @@
SUBDIR += py-palettable
SUBDIR += py-papermill
SUBDIR += py-pdd
+ SUBDIR += py-peft
SUBDIR += py-pexpect
SUBDIR += py-pkbar
SUBDIR += py-placekey
diff --git a/misc/py-peft/Makefile b/misc/py-peft/Makefile
new file mode 100644
index 000000000000..56b09528d0cb
--- /dev/null
+++ b/misc/py-peft/Makefile
@@ -0,0 +1,43 @@
+PORTNAME= peft
+DISTVERSION= 0.17.1
+CATEGORIES= misc python # machine-learning
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Parameter-Efficient Fine-Tuning (PEFT)
+WWW= https://huggingface.co/docs/peft/index \
+ https://github.com/huggingface/peft
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}accelerate>=0.21.0:misc/py-accelerate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}huggingface-hub>=0.25.0:misc/py-huggingface-hub@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=20.0:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psutil>0:sysutils/py-psutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytorch>=1.13.0:misc/py-pytorch@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>0:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}safetensors>0:misc/py-safetensors@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}transformers>0:misc/py-transformers@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}datasets>0:misc/py-datasets@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}diffusers>0:misc/py-diffusers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}parameterized>0:devel/py-parameterized@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-cov>0:devel/py-pytest-cov@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sentencepiece>0:textproc/py-sentencepiece@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils autoplist pytest
+
+TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+NO_ARCH= yes
+
+# tests fail to run, see https://github.com/huggingface/peft/issues/2789
+
+.include <bsd.port.mk>
diff --git a/misc/py-peft/distinfo b/misc/py-peft/distinfo
new file mode 100644
index 000000000000..b4a8bb7b5348
--- /dev/null
+++ b/misc/py-peft/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758189811
+SHA256 (peft-0.17.1.tar.gz) = e6002b42517976c290b3b8bbb9829a33dd5d470676b2dec7cb4df8501b77eb9f
+SIZE (peft-0.17.1.tar.gz) = 568192
diff --git a/misc/py-peft/pkg-descr b/misc/py-peft/pkg-descr
new file mode 100644
index 000000000000..c7205201b5f5
--- /dev/null
+++ b/misc/py-peft/pkg-descr
@@ -0,0 +1,14 @@
+The peft module contains state-of-the-art Parameter-Efficient Fine-Tuning
+(PEFT) methods.
+
+Fine-tuning large pretrained models is often prohibitively costly due to their
+scale. Parameter-Efficient Fine-Tuning (PEFT) methods enable efficient
+adaptation of large pretrained models to various downstream applications by only
+fine-tuning a small number of (extra) model parameters instead of all the
+model's parameters. This significantly decreases the computational and storage
+costs. Recent state-of-the-art PEFT techniques achieve performance comparable to
+fully fine-tuned models.
+
+PEFT is integrated with Transformers for easy model training and inference,
+Diffusers for conveniently managing different adapters, and Accelerate for
+distributed training and inference for really big models.