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 APIFree 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와 같은 덜 일반적인 아키텍처를 고도로 최적화된 머신 코드로 컴파일할 수 있는 언어에서 실험하고 싶은 연구자.

시작하기

  1. Lazarus (IDE)를 설치하고, GPU 가속이 필요하다면 적절한 OpenCL 드라이버를 설치합니다.
  2. 리포지토리를 클론하고 neural/ 폴더를 Lazarus의 유닛 검색 경로에 추가합니다.
  3. 예제 프로그램 중 하나를 빌드합니다 (예: examples/ChatTerminal/ChatTerminal.lpr).
  4. README에 나열된 지원 모델 중 하나의 HuggingFace 체크포인트를 지정하고 실행합니다.

제한 사항 / 참고 사항

  • 라이브러리는 Pascal 전용이며, master 브랜치에서는 Delphi에서 작동하지 않습니다 (Delphi 지원은 오래된 v2.0.0 릴리스에 한정됨).
  • GPU 지원은 CUDA가 아닌 OpenCL에 의존하므로, NVIDIA GPU는 OpenCL 드라이버 계층이 필요합니다.
  • 성능이 중요한 코드는 AVX/AVX2/AVX‑512에 대해 수동 최적화되어 있으며, 오래된 CPU에서는 실행 속도가 느릴 수 있습니다.
  • 다양한 교육용 예제와 사전 학습된 모델을 제공하지만, 프로덕션 수준의 모델 자료실 통합은 사용자에게 맡겨집니다.

  • 위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.*

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트