어쩌다보니 AI 서버를 구축해야하는 상황이 발생하였다. 현재 Docker와 학습과 추론을 위한 Nvidia Cuda까지는 서버에 설치되어있는 상황이다.
서버 환경 : Ubuntu 20.04
Ai 추론 Model마다 Layer들의 버전이 다른데 Ai Framework에서는 이런 Layer버전에 따라 추론이 불가능 할때도 존재한다. 이를 극복하기 위해 서버 내에 여러 환경을 둘 수 있는 Docker를 이용하기로 하였다.
3가지의 다른 방식으로의 추론을 통해 나온 결과를 다시 분석하여 결론을 내야하는 상황이기 때문에
Nginx에서 통신을 관리해주고 spring을 통해 관리하자.
이후 3가지의 다른 방식의 추론들을 쪼개서 방식마다 돌아가는 모델 개수에 맞게 Docker Image 들을 늘려주자.
대부분의 Ai Model들은 Python에서 많이 돌아가기 때문에 python환경에서 통신이 가능하게끔 python web framework인 Flask를 사용하여 image 내에 넣는 것으로 결정하였다.
또한 DB는 Postgreql을 사용하기로 하였다.
이번 서버 설계를 통해서 Ai 서버에서의 환경에 대해서 이해 할 수 있었으며, 더 나아가 새로운 데이터가 들어오면 바로 학습이 가능토록하는 MLOps와 개발 유지보수를 늘려주는 DevOps또한 공부를 해 볼 예정이다.