Links

프롤로그

왜 마키나락스(MakinaRocks)는 링크(Link)를 개발해야 했을까요?
마키나락스(MakinaRocks)는 산업용 AI기술을 활용하여 산업계의 다양한 문제를 해결해 왔습니다.
다수의 데이터 사이언티스트(Data Scientist)들이 산업의 다양한 문제를 해결하기 위해 연구 개발에 몰두하고 있으며, 데이터 사이언티스트들의 성과(Performance) 향상을 위해 업무 방식 개선과 업무 효율 극대화에 많은 고민과 관심을 가지게 되었습니다.

어떻게 업무 방식을 개선하고 업무 효율을 극대화 할 수있을까?

이런 고민을 해결하기 위해 데이터 사이언티스트들의 일하는 방식을 분석하기 시작했고, 가장 많이 사용하는 개발 도구(Tool)인 주피터 랩(JupyterLab)의 사용성을 분석하게 되었습니다. 데이터 사이언티스트들이 주피터 랩을 선호하는 이유는 데이터 분석 초기에 다양한 실험을 반복적으로 하게 되는데, 그 과정에서 특정 코드 조각을 그때그때 실행해 보고 중간중간 결과를 확인하는데 용이한 툴이기 때문입니다. 이런 주피터 랩의 장점에 반해 실행하는 순서에 따라 결과가 달라지는 불편함이 있다는 것을 알게 되었으며, 최종적으로 분석이 잘 되는 프로그램을 만들어야 하는 데이터 사이언티스트의 최종 목표(Goal) 측면에서 주피터 랩은 여러 단점과 한계가 있다는 사실을 발견하게 되었습니다.
잘 정의된 프로그램을 만들거나 가독성 있는(Readable) 프로그램을 만들기 위해 기존 주피터 랩 사용자들은 셀(Cell)이 어떤 역할을 하는지를 셀 위쪽에 마크다운 형식으로 셀에 대한 제목(Title)이나 설명(Description)을 적어두는 방식으로 사용합니다. 그런 다음 셀들을 순서대로 늘어놓고 순차적으로 실행하면서 결과를 확인하는 방식으로 사용하기도 합니다. 또한, 코드가 일직선으로 구성되어 있지만, 코드 간에 관계나 연속성이 없는 경우도 일반적입니다. (예를 들어, 데이터를 로드(Load)하는 일과 모델을 만드는 독립적임). 따라서, 협업자에게 코드를 공유하는 경우 코드를 이해하거나 프로그램의 구조를 파악하는 데 어려움이 있었습니다. 또한, 셀의 실행하는 순서에 따라 결과가 달라지기 때문에 셀 간의 관계나 실행 순서가 중요하지만, 주피터 랩에서는 그 셀 간의 관계를 확인하는 데 어려움이 있었습니다. 그리고, 코드나 특정 값을 수정해 가면서 반복적인 실험을 통해 원하는 결과를 찾아가는 과정을 하게 되는데, 이 경우 동일한 코드를 반복적으로 실행하게 되며, 중복 작업을 통해 불필요한 시간을 낭비하는 경우가 많아지게 되었습니다.
그 외 다양한 주피터 랩의 단점과 한계를 보완하고 데이터 사이언티스트의 업무 효율을 극대화하기 위해 다양한 사용성 분석과 프로세스에 대한 고민을 하게 되었으며 이런 문제를 해결하기 위해 링크(Link)라는 제품을 기획하고 개발하게 되었습니다.
Last modified 1mo ago