(Environment) (AWS, Mac) 기업 환경에서 프로젝트 수행, 모델링 #1. 작업 환경 검토, 준비 (계속)

프로젝트 매니저와 신사업 기획 업무 수행을 위해 잠시 접어 두었던 엔지니어링과 모델링 업무를 다시 수행 하게 되었습니다. 

박사 학위 과정에서 익혔던 이미지, 텍스트 등 에 대한 각각의 모델에 대한  성능 확보(튜닝) 과 사용된 모델을 통합 하는 프로젝트를 위해, 

다소 복잡한 작업 환경이 필요하게 되었습니다. 

주어진 조건에서 최상의 효율을 얻기 위한 작업 환경을 만들고 기록해 두고자  합니다. 


왜?

나무를 베는데 8시간이 주어진다면 나는 도끼를 가는데 6시간을 쓸 것이다.

링컨(1861~1865)은 미국의 16대 대통령  - 

  • 확인된 제약 사항
    • 일반 적인 기업의 보안에 의한 github 사용 불가 
    • 지정된 Cloud 환경과 GPU 자원의 제약 (불안정)
      • 프로젝트 수행을 위한 서버 환경은 백업이나 복구 정책이 준비 되지 않아, 앞으로 겪을 시행 착오를 우리 유닛도 함께 겪어야 하는 상황
      • 회사내 대용량 이미지, 텍스트 데이트를 저장할 공간이 없음
      • 트레이닝이나 분석을 위해 사용해야할 데이터의 경우 회사 서버를 통해서만 접근 가능
    • 개인 정보 보호 등 데이터는 지정된 저장소이외 보관 또는 접근이 불가 함
    • 크롤링 등을 통해서만 수집이 가능한 일부 데이터의  경우 법적 분쟁이 예상되어 작업 공간에 저장 하면 아나 됨  
    • 유닛 구성원들과의 장기적인 관점에서 프로젝트 착수 시점 부터 협업 정책 내재화 필요


  • 검토 환경 
    • 불안정한 서버에서의 작업 사항과, 확보된 데이터 백업 기록 관리 : SFTP
      • Github 는 baseline 확보를 위해서만  사용
      • 아직은 적은 구성원으로 서버 환경과 작업 참여자들이 안정화 될 때 까지는 SFTP Sync 를 사용하여 코드, 데이터를 관리 하고자 함
    • 원격 접속 : 주 : ssh (회사 서버, AWS ) , 부 : ngrok (Colab 접속용) 
      • 사내 보안 정책(?) 이슈
        • 내부 --> 내부 서버 , 외부 --> 내부 서버로 ssh 연결이 불가 하다고함.. (.. 이 역시 사연이 있을거라 생각함...)
        • 개인 생각으로 AWS 는 외부인데... 결국 내부 --> 외부로의 접근인데 ssh가 되지 않는다면.. (AWS 에서 ssh 접근 가능하도록 설정을 아직 하지 않았던가.. 비용, 관리를 위한 관리 등 다른 이유가 있을거라 생각 함)
    • 개인 환경 : Apple Mac M1 Pro.  2020
      • 개발 환경 
        • VS Code : 
          • extension : SFTP , SSH , Python , Jupyter Notebook , Beautify , Json 
        • Jupyter Notebook :
        • Google Colab :
    • 준비된 저장소
      • 회사 사내 서버 
        • 분석 하고자 하는 이미지, 텍스트 등의 데이터에 접근 가능, GPU 사용 가능한 서버
      • Apple Mac M1 Pro : SFTP Server 역활 수행 ( ^^.. 잔머리..GPU 서버에서 작업 하되 불안정한.. 사항을 고려 하여 유닛 구성원들 PC에 아카이빙, 동기화)
      • Google Drive : (임시) 대용량 데이터, 이미지, 데이터 셋을 보관
        • 외부 조직과의 협업시 데이터 저장, 공유 창구로 사용
        • 작업 코드 역시 이를 기준으로 함.  
    • History 관리
      • 서버와 각 개인 PC 에 Git History 설치
    • 협업 소통 메신져
      • Slack
        • 유닛 구성원간 그날의 작업 사항, 이슈 사항을 기록
        • 향후, 외부 관계자 등의 참여를 고려 하여 사내 메신저가 아닌 Slack 를 사용
        • baseline 모델 확보, github 에서의 코드 공유시 Slack 이 활용가치가 있다고 판단됨 (단 아이디는 회사 이메일 사용)