joaopauloschuler/neural-api
CAI NEURAL API - Pascal based deep learning neural network API optimized for AVX, AVX2 and AVX512 instruction sets plus OpenCL capable devices including AMD, Intel and NVIDIA.
무엇인가요
CAI Neural API는 Free Pascal / Lazarus로 작성된 딥러닝 라이브러리입니다. 트랜스포머, Mixture‑of‑Experts, RWKV, xLSTM, 스파이킹 뉴런, 정규화 흐름, CNN 등 다양한 신경망 레이어를 구현하며, AVX/AVX2/AVX‑512 지원 CPU 또는 AMD, Intel, NVIDIA의 OpenCL 가속 GPU에서 실행할 수 있습니다. 전체 프레임워크는 하나의 네이티브 실행 파일로 컴파일되며, Python 인터프리터, CUDA 런타임, 대규모 종속성 체인 없이 작동합니다.
무엇을 할 수 있나요
| 기능 | 작동 방식 (README에 설명됨) |
|---|---|
| 대규모 언어 모델 실행 | HuggingFace instruct 체크포인트 (예: Qwen 2.5, Qwen 3, Llama, Mistral, Phi‑3, OLMoE)를 로드하고 ChatTerminal CLI를 통해 상호작용하거나, ChatServer로 OpenAI 호환 HTTP 서버를 노출합니다. |
| 텍스트에서 음악 생성 | MusicGenText는 T5 인코더 + MusicGen 디코더를 사용해 "로피 힙합, 부드러운 피아노"와 같은 프롬프트를 오디오 파일로 변환합니다. |
| 오디오 처리 | MusicSourceSeparation은 곡을 스템으로 분리하고, Qwen2AudioChat로 오디오 인식 모델과 대화할 수 있습니다. |
| 이미지 초해상도 | SuperResolution는 리포지토리에 포함된 사전 학습된 네트워크를 사용해 이미지를 확대합니다. |
| 표준 비전 데모 | CIFAR‑10/‑100, MNIST, Fashion‑MNIST 분류, ResNet‑20, DenseNet, MobileNet 스타일의 분리형 컨볼루션, 오토인코더, GAN 아트, 기울기 상승 시각화 등. |
| 학습 유틸리티 | TNNetFit 스타일의 클래스 (TNeuralImageFit 등)는 네트워크 적합, 학습률 제어, 관성, 모델 체크포인트 저장을 간단한 API로 제공합니다. |
| 데이터 처리 | TNNetVolume은 유연한 1D/2D/3D 배열 타입으로 SIMD 연산을 지원하며, OpenCL 버퍼 간 전송도 가능합니다. |
누구에게 적합한가요
- Python, PyTorch, CUDA를 도입하지 않고 네이티브 Pascal 애플리케이션 내에 딥러닝을 통합하고 싶은 시스템 프로그래머.
- 단일 바이너리가 선호되는 임베디드 또는 낮은 종속성 배포 환경 (예: 엣지 디바이스, Python 런타임이 없는 Windows/Linux 서버).
- 기존 코드베이스와 통합 가능한 즉시 사용 가능한 신경망 스택을 찾는 Pascal 애호가 / Lazarus 개발자.
- RWKV, 스파이킹 뉴런, Mixture‑of‑Experts와 같은 덜 일반적인 아키텍처를 고도로 최적화된 머신 코드로 컴파일할 수 있는 언어에서 실험하고 싶은 연구자.
시작하기
- Lazarus (IDE)를 설치하고, GPU 가속이 필요하다면 적절한 OpenCL 드라이버를 설치합니다.
- 리포지토리를 클론하고
neural/폴더를 Lazarus의 유닛 검색 경로에 추가합니다. - 예제 프로그램 중 하나를 빌드합니다 (예:
examples/ChatTerminal/ChatTerminal.lpr). - README에 나열된 지원 모델 중 하나의 HuggingFace 체크포인트를 지정하고 실행합니다.
제한 사항 / 참고 사항
- 라이브러리는 Pascal 전용이며,
master브랜치에서는 Delphi에서 작동하지 않습니다 (Delphi 지원은 오래된 v2.0.0 릴리스에 한정됨). - GPU 지원은 CUDA가 아닌 OpenCL에 의존하므로, NVIDIA GPU는 OpenCL 드라이버 계층이 필요합니다.
- 성능이 중요한 코드는 AVX/AVX2/AVX‑512에 대해 수동 최적화되어 있으며, 오래된 CPU에서는 실행 속도가 느릴 수 있습니다.
- 다양한 교육용 예제와 사전 학습된 모델을 제공하지만, 프로덕션 수준의 모델 자료실 통합은 사용자에게 맡겨집니다.
- 위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.*
관련
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트