머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
- 머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
- 머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
- 1) 프로젝트의 핵심 문제와 초점은 무엇인가요?
- 2) 프로젝트의 성공 여부를 측정하는 데 어떤 지표를 사용할 것이며, 어떤 임계값을 기준으로 삼을 것인가요?
- 3) 얼마나 많은 데이터로 시작해야 하나요?
- 4) 프로젝트가 시작되기 전에 얼마나 많은 데이터를 라벨링할 수 있으며 한 달에 얼마나 많은 데이터를 생성할 수 있나요?
- 5) 인간 어노테이터의 라벨링에는 얼마나 많은 주관성이 개입되나요?
- 6) 각 문서에 어떤 메타데이터를 사용할 수 있나요?
- 7) 앞으로 만나게 될 엔티티 목록에 액세스할 수 있나요?
- 8) 데이터 수집/라벨링 프로세스의 속도를 높이는 데 도움이 될 수 있는 방법이 있나요?
- 9) 동일한 도메인의 기존 레이블이 지정되지 않은 데이터 또는 파일럿 예측 작업과 관련이 없거나 반 관련성이 있는 기존 레이블이 지정된 데이터가 있나요?
- 10) 유사한 어휘(및 개체)를 공유하는 도메인별 텍스트에 대한 알려진 데이터베이스가 있나요?
- 머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
80% 이상의 데이터 과학 프로젝트가 테스트를 넘어 프로덕션 단계로 넘어가지 못합니다. 모두가 머신 러닝 프로젝트를 시작한다면 어디에서 문제가 발생하고 있을까요? 의심할 여지 없이 머신러닝 솔루션은 대량의 데이터를 수집하거나 분석하는 비즈니스에 종사하는 사람들의 효율성을 높여줍니다. 하지만 이러한 프로젝트를 어떻게 구현할지에 대한 막연한 두려움 때문에 프로젝트를 시작하지 못하는 경우가 많습니다.
그렇다면 어떻게 그런 작업에 접근하기 시작할까요? 코끼리를 먹는 것과 같은 방식으로 한 입 한 입 먹어 나가면 됩니다. 팀을 이끌고 표준 AI 플랫폼을 구축한 경험을 통해(Skim AI Chrome 도구 모음)와 맞춤형 솔루션에 대해 알아보고, 머신 러닝 프로젝트를 시작하기 전에 해야 할 10가지 질문을 정리해 보았습니다. 이 10가지 질문에 대한 답을 통해 프로젝트에 접근하는 방법에 대한 명확한 기초를 파악할 수 있습니다.
머신 러닝 프로젝트를 시작하기 전에 물어봐야 할 10가지 질문
1) 프로젝트의 핵심 문제와 초점은 무엇인가요?
이 질문에 대한 몇 가지 유효한 답변이 있으므로 이를 세분화해 보겠습니다. 먼저, 전체 목표를 파악하세요: 정보를 추출해야 하나요, 아니면 정보를 분류해야 하나요?
다음으로, 어떤 세부 수준에서 실행해야 하는지 파악하세요. 예를 들어, 모델이 문장 수준별로 분석해야 할까요, 아니면 전체 문서 수준에서 분석해야 할까요? 아니면 높은 정확도로 구현하기에 적합하지 않을 수 있는 단락의 문장 하위 집합과 같은 사용자 정의가 필요한가요?
2) 프로젝트의 성공 여부를 측정하는 데 어떤 지표를 사용할 것이며, 어떤 임계값을 기준으로 삼을 것인가요?
원하는 정량적 결과를 결정합니다. 자동화된 데이터 추출을 통해 분류되는 데이터의 양을 늘리고 싶을 수도 있습니다. 이 경우 얼마나 늘릴지 명시해야 합니다. 또는 회사 전체로 분류하는 데이터의 양을 늘리거나 특정 수준의 정확도로 예측할 수 있는 데이터의 양을 늘리고 싶을 수도 있습니다. 목표가 무엇이든, 이를 명확히 하고 측정 가능한 지표를 설정하세요.
3) 얼마나 많은 데이터로 시작해야 하나요?
이상적으로는 2~5,000개의 데이터 포인트로 시작하는 것이 좋습니다. 각 분류 카테고리로 분류하세요. 모델에서 레이어로 사용할 라벨이 없는 원시 텍스트, 기사 또는 이에 상응하는 5만~10만 개의 조각을 추가로 확보해 두는 것이 좋습니다. 뉴스 데이터에서 제품에 대한 언급에 대한 감성어 또는 기타 분류기를 구축하는 경우, 해당 기사에 라벨이 지정되어 있지 않더라도 모델을 구축하려는 제품 및 산업을 언급하는 수십만 개의 뉴스 조각이 있으면 좋습니다.
4) 프로젝트가 시작되기 전에 얼마나 많은 데이터를 라벨링할 수 있으며 한 달에 얼마나 많은 데이터를 생성할 수 있나요?
질문 3에서 언급했듯이, 사람의 정확도에 가까운 결과를 제공하는 모델을 개발하려면 카테고리당 최소 5,000개의 데이터 포인트가 필요합니다. 현실적인 타임라인을 만들려면 첫 번째 세트를 수동으로 라벨링하는 데 걸리는 시간을 고려해야 합니다.
5) 인간 어노테이터의 라벨링에는 얼마나 많은 주관성이 개입되나요?
방법론에 대해:
유용한 머신러닝 모델을 배포하기 위해 시스템을 단순화해야 할 때가 있습니다. 그 이유는 카테고리를 구분할 수 있는 인간 수준의 정확도로 모델을 구축할 수 있는 데이터가 충분하지 않기 때문인 경우가 많습니다.
분류 방법론이 사람이 이해하기 쉬운가요? 분류 범주가 뚜렷하고 범주 간에 어휘 차이가 있나요, 아니면 주관적이고 규칙을 확실하게 정의할 수 없어 구분하기 어려운가요?
사람이 1~2초 내에 결정을 내리지 못하면 기계는 문제가 있는 것입니다. 일부 팀은 '혼합' 분류 카테고리를 만들어 이를 완화하고, 테슬라가 혼란스러운 상황에서 어떻게 해야 할지 모를 때 운전자에게 스티어링 휠을 제어하도록 요청하는 것과 같은 방식으로 분석가의 검토를 위해 카테고리에 플래그를 지정합니다.
6) 각 문서에 어떤 메타데이터를 사용할 수 있나요?
데이터베이스의 각 문서에서 수집할 수 있는 정보를 결정하면 도움이 됩니다. 여기에는 작성자, 날짜, 시간, 신문 섹션, 위치, 출처, 카테고리 또는 관련 단체 등이 포함될 수 있습니다(다른 많은 것들 중에서도).
7) 앞으로 만나게 될 엔티티 목록에 액세스할 수 있나요?
대부분의 데이터 추출 프로젝트는 텍스트에서 엔티티(사람, 장소, 사물)를 쉽게 추출하기를 원합니다. 많은 회사에서 해당 데이터를 특정 클라이언트에 매핑하거나 엔티티 수준 분석을 최종 사용자(클라이언트 또는 고객일 가능성이 높습니다)에게 표시하고자 합니다. 텍스트의 엔티티를 데이터베이스의 엔티티와 일치시켜야 하는 경우, 원하는 일치 항목을 작성하는 것이 도움이 됩니다.
또한 이미 텍스트에 레이블이 지정된 엔티티가 있는 경우, 새 텍스트에서 엔티티를 추출하는 모델을 구축하면 높은 수준의 정확도를 달성할 수 있습니다. 특히 하나의 통합된 엔티티의 모든 변형에 라벨을 붙이는 것이 목표인 경우(예: 'Facebook', 'WhatsApp', 'Instagram'을 공유 주식 기호 'FB'에 일치시키는 경우)에는 더욱 그렇습니다. 엔티티의 마스터 목록을 만드는 것은 텍스트에 언급된 엔티티를 다양한 방법으로 찾은 다음 BI 대시보드와 같은 클라이언트를 향한 프런트엔드 인터페이스에 표시해야 하는 경우에도 유용합니다.
8) 데이터 수집/라벨링 프로세스의 속도를 높이는 데 도움이 될 수 있는 방법이 있나요?
데이터는 모델을 구축할 수 있는 경쟁 우위입니다. 향후 프로젝트를 지원하기 위해 사내 또는 아웃소싱을 통해 이 기능을 구축하는 것을 고려해야 합니다.
사내 팀이 없는 경우 인도나 동유럽에 있는 회사에 데이터 수집을 아웃소싱하는 것을 고려하세요. 이 업체들은 라벨 제작 시스템의 정교함에 따라 데이터 수집 업체당 월 500~1,000달러의 매우 경쟁력 있는 요금을 책정합니다.
9) 동일한 도메인의 기존 레이블이 지정되지 않은 데이터 또는 파일럿 예측 작업과 관련이 없거나 반 관련성이 있는 기존 레이블이 지정된 데이터가 있나요?
예를 들어 이 특정 문제 또는 향후 모델을 만들 다른 도메인별 문서에 대해 데이터베이스에 저장된 레이블을 지정해야 할 데이터가 아직 많이 남아 있나요?
그렇다면 다양한 언어 모델을 구축하거나 맞춤화하여 대부분의 솔루션의 성능을 향상시킬 수 있습니다. 레이블이 없는 데이터도 머신 러닝 모델이 레이블이 없는 텍스트에 이미 존재하는 관계에서 의미를 추출하는 데 도움이 되기 때문입니다.
10) 유사한 어휘(및 개체)를 공유하는 도메인별 텍스트에 대한 알려진 데이터베이스가 있나요?
위에서 언급한 것과 같은 이유로 도메인별 데이터는 ML/NLP에 매우 유용합니다. 종종 누군가 또는 일부 데이터 제공업체가 시작하는 데 필요한 데이터를 무료로 제공하는 경우가 많습니다. 많은 연구 프로젝트에서 비상업적 용도로 데이터 집합을 공유하는 것을 고려합니다. 이메일을 보내면 됩니다. 액세스하는 데 필요한 비용과 API가 있는지 알아보세요.
Google, Facebook, 정부, 시장 데이터 제공업체, 연구 프로젝트 등이 커뮤니티에 제공하는 데이터로 초기 데이터 세트를 채우는 데 도움을 줄 수 있습니다. 라벨이 지정된 자체 데이터가 적더라도 대규모 데이터 세트가 있으면 모델에서 더 많은 것을 얻을 수 있는 경우가 많습니다.