AI in Congo
- AI in Congo: Server Configuration and Deployment
This article details the server configuration for the “AI in Congo” project, a deployment of machine learning models to assist with conservation efforts in the Democratic Republic of Congo. This guide is intended for newcomers to our MediaWiki site and provides a comprehensive overview of the hardware and software infrastructure.
Project Overview
The “AI in Congo” project utilizes edge computing and cloud-based processing to analyze data collected from remote camera traps. The primary goal is to automatically identify and classify animal species, aiding researchers in tracking populations and combating poaching. Data is processed both locally (at the edge) and centrally (in the cloud) to balance latency and computational resources. This setup requires a robust and scalable server infrastructure.
Edge Server Configuration
Edge servers are deployed near the camera trap locations, providing local processing capabilities. These servers are critical for real-time analysis and reducing bandwidth requirements.
Hardware Specifications
Component | Specification |
---|---|
CPU | Intel Core i7-8700K (6 cores, 12 threads) |
RAM | 32GB DDR4 2666MHz ECC |
Storage | 1TB NVMe SSD |
Network | Gigabit Ethernet + 4G LTE Modem (with external antenna) |
Power | 12V DC Power Supply (solar panel compatible) |
Operating System | Ubuntu Server 20.04 LTS |
These servers are housed in ruggedized, weatherproof enclosures to withstand the harsh environmental conditions. Power management is critical, and servers utilize low-power modes when idle. Networking protocols are optimized for intermittent connectivity.
Software Stack
The edge servers run a lightweight containerized environment using Docker. Key software components include:
- TensorFlow Lite: For running optimized machine learning models.
- Python 3.8: As the primary scripting language.
- Mosquitto: An MQTT broker for communication with camera traps and the central server.
- rsync: For data synchronization.
Central Server Configuration
The central server, located in a secure data center, handles large-scale data storage, model training, and advanced analysis.
Hardware Specifications
Component | Specification |
---|---|
CPU | Dual Intel Xeon Gold 6248R (24 cores, 48 threads each) |
RAM | 256GB DDR4 2933MHz ECC |
Storage | 8 x 4TB SAS 12Gbps 7.2K RPM HDD (RAID 6) + 2 x 1TB NVMe SSD (OS & Cache) |
Network | 10 Gigabit Ethernet |
GPU | 2 x NVIDIA Tesla V100 (32GB HBM2) |
Operating System | CentOS 8 |
The central server utilizes a RAID configuration to ensure data redundancy and availability. Virtualization is employed using KVM to isolate different services.
Software Stack
The central server hosts a comprehensive software stack:
- PostgreSQL: For storing metadata and analysis results.
- Apache Kafka: For handling high-volume data streams from edge servers.
- Kubernetes: For orchestrating containerized applications.
- TensorFlow: For model training and deployment.
- Jupyter Notebook: For data exploration and model development.
- Prometheus and Grafana: For system monitoring and alerting.
Database Schema
The PostgreSQL database schema is designed to efficiently store and retrieve data related to animal sightings.
Table Name | Description | Key Columns |
---|---|---|
`sightings` | Stores information about each animal sighting. | `sighting_id` (Primary Key), `timestamp`, `location`, `species_id`, `confidence` |
`species` | Contains a list of recognized animal species. | `species_id` (Primary Key), `common_name`, `scientific_name` |
`camera_traps` | Stores information about each deployed camera trap. | `camera_trap_id` (Primary Key), `location`, `status` |
Database backups are performed daily and stored offsite. Database indexing is crucial for query performance. Data validation processes are in place to ensure data integrity.
Security Considerations
Security is paramount, given the sensitive nature of the data and the remote locations of the edge servers. Firewall rules are strictly enforced. SSH access is limited and requires multi-factor authentication. Data encryption is used both in transit and at rest. Intrusion detection systems are deployed to monitor for malicious activity.
Future Enhancements
Future enhancements include integrating federated learning to improve model accuracy while preserving data privacy, and exploring the use of edge TPU accelerators to further reduce latency. Automated scaling of the central server will be implemented to handle increasing data volumes.
Server maintenance is a continuous process, and regular updates are applied to all systems.
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️