1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/secretflow-spu

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Устройство безопасной обработки данных (SPU): Secure Processing Unit

CircleCI Python PyPI версия OpenSSF Scorecard OpenSSF Лучшие практики

Устройство безопасной обработки данных (SPU) направлено на то, чтобы стать устройством безопасной вычислительной системы с доказательной защитой (provable) и измеряемыми характеристиками безопасности (measurable). Оно предоставляет вычислительные возможности, при этом защищая ваши конфиденциальные данные.

SPU можно рассматривать как программируемое устройство, которое не предназначено для прямого использования. Обычно мы используем фреймворк SecretFlow, который использует SPU в качестве основного устройства безопасной вычислительной системы.

На данный момент наш акцент сосредоточен на обеспечении доказательной защиты. Это включает безопасное время выполнения, которое оценивает операции с тензорами, аналогично XLA, используя многостороннее вычисление с распределённой секретностью (MPC) в качестве основного механизма оценки для защиты конфиденциальной информации.Пакет Python SPU также содержит простую модульную систему распределённого доступа для демонстрации использования SPU, но она не предназначена для использования в производстве из-за проблем с безопасностью системы и производительностью. Пожалуйста, не используйте её непосредственно в производстве.

Правила участия

Если вы хотите принять участие в развитии SPU, пожалуйста, проверьте правила участия.

Если вы планируете использовать SPU для исследовательских целей, пожалуйста, проверьте правила развития для исследований от @fionser.

Эта документация также содержит инструкции по конструированию и тестированию.

Инструкции по установке

Поддерживаемые платформы

Linux x86_64 Linux aarch64 macOS x64 macOS Apple Silicon Windows x64 Windows WSL2 x64
Процессор да да да1 да нет да
NVIDIA GPU экспериментальный нет нет н/а нет экспериментальный

Примечание: 1 - Возможно с ограничениями. Из-за ограничений ресурсов CI, предварительно скомпилированный двоичный файл для macOS x64 больше недоступен.

Инструкции

Пожалуйста, следуйте Инструкциям по установке для установки SPU.### Требования к оборудованию

Общие характеристики FourQ-based PSI GPU
AVX/ARMv8 AVX2/ARMv8 CUDA 11.8+

Цитирование SPU

Если вы считаете, что SPU полезен для вашего исследования или разработки, пожалуйста, рассмотрите возможность цитирования наших статей:

USENIX ATC'23

@inproceedings {spu,
    author = {Junming Ma and Yancheng Zheng and Jun Feng and Derun Zhao and Haoqi Wu and Wenjing Fang and Jin Tan and Chaofan Yu and Benyu Zhang and Lei Wang},
    title = {{SecretFlow-SPU}: Высокоэффективный и удобный в использовании фреймворк для машинного обучения с защитой конфиденциальности},
    booktitle = {2023 USENIX Annual Technical Conference (USENIX ATC 23)},
    year = {2023},
    isbn = {978-1-939133-35-9},
    address = {Boston, MA},
    pages = {17--33},
    url = {https://www.usenix.org/conference/atc23/presentation/ma},
    publisher = {USENIX Association},
    month = jul,
}
```[ICML'24](https://proceedings.mlr.press/v235/wu24d.html)
```text
@inproceedings{ditto,
   title = {Ditto: Квантизация-осведомленное безопасное прогнозирование трансформеров с использованием {MPC}},
   author = {Wu, Haoqi и Fang, Wenjing и Zheng, Yancheng и Ma, Junming и Tan, Jin и Wang, Lei},
   booktitle = {Программы 41-ой Международной конференции по машинному обучению},
   pages = {53346--53365},
   year = {2024},
   editor = {Salakhutdinov, Ruslan и Kolter, Zico и Heller, Katherine и Weller, Adrian и Oliver, Nuria и Scarlett, Jonathan и Berkenkamp, Felix},
   volume = {235},
   series = {Программы исследования обучения машины},
   month = {21--27 июля},
   publisher = {PMLR},
   pdf = {https://raw.githubusercontent.com/mlresearch/v235/main/assets/wu24d/wu24d.pdf},
   url = {https://proceedings.mlr.press/v235/wu24d.html},
   abstract = {Из-за возрастающих проблем с конфиденциальностью данных клиентов и обученных моделей, таких как трансформеры, используются методы безопасного многопользовательского вычисления (MPC) для обеспечения безопасного прогнозирования при наличии дополнительных затрат. Эти работы пытаются уменьшить эти затраты путем использования более подходящих для MPC аппроксимаций нелинейных функций. Однако интеграция широко используемого в открытых данных квантизования в область MPC остаётся неясной. Чтобы заполнить этот пробел, мы предлагаем фреймворк под названием Ditto для обеспечения более эффективного квантизация-осведомленного безопасного прогнозирования трансформеров.}
```Конкретно, мы включаем квантизацию, удобную для MPC, в процесс прогнозирования трансформера и применяем процедуру квантизации-осведомленного переноса знаний для поддержания полезности модели. Затем мы предлагаем новые примитивы MPC для поддержки типовых преобразований, необходимых для квантизации, и реализуем квантизации-осведомленное выполнение MPC для безопасного квантизованного прогнозирования. Этот подход значительно снижает как вычислительные, так и коммуникационные затраты, что приводит к повышению общей эффективности. Мы провели широкий спектр экспериментов на моделях BERT и GPT2 для оценки производительности Ditto. Результаты показывают, что Ditto примерно в 3.14–4.40 раза быстрее MPCFormer (ICLR 2023) и в 1.44–2.35 раза быстрее передового решения PUMA с незначительным ухудшением полезности.

}
}
```## БлагодарностьМы благодарим за значительные вклады, сделанные лабораторией [Alibaba Gemini Lab](https://alibaba-gemini-lab.github.io) и бюллетенями безопасности от [VUL337@NISL@THU](https://netsec.ccert.edu.cn/vul337).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

SPU (Secure Processing Unit) стремится быть доказуемым, измеримым безопасным вычислительным устройством, которое обеспечивает вычислительные возможности, сохраняя при этом ваши личные данные защищёнными. Развернуть Свернуть
C++ и 6 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/secretflow-spu.git
git@api.gitlife.ru:oschina-mirror/secretflow-spu.git
oschina-mirror
secretflow-spu
secretflow-spu
main