제퍼넷 로고

손쉽게 데이터 탐색: Amazon SageMaker Studio JupyterLab 노트북에서 SQL 및 Text-to-SQL 사용 | 아마존 웹 서비스

시간

아마존 세이지 메이커 스튜디오 데이터 과학자가 기계 학습(ML) 모델을 대화형으로 구축, 학습 및 배포할 수 있는 완전 관리형 솔루션을 제공합니다. ML 작업을 수행하는 과정에서 데이터 과학자는 일반적으로 관련 데이터 소스를 검색하고 연결하는 것으로 워크플로를 시작합니다. 그런 다음 SQL을 사용하여 ML 교육 및 추론에 사용하기 전에 다양한 소스의 데이터를 탐색, 분석, 시각화 및 통합합니다. 이전에는 데이터 과학자들이 워크플로에서 SQL을 지원하기 위해 여러 도구를 저글링하여 생산성을 저하시키는 경우가 많았습니다.

이제 SageMaker Studio의 JupyterLab 노트북에 SQL 지원 기능이 내장되어 있다는 소식을 발표하게 되어 기쁘게 생각합니다. 데이터 과학자는 이제 다음을 수행할 수 있습니다.

  • 다음을 포함한 인기 있는 데이터 서비스에 연결하세요. 아마존 아테나, 아마존 레드 시프트, 아마존 데이터존, 노트북 내에서 직접 Snowflake
  • 데이터베이스, 스키마, 테이블, 보기를 탐색 및 검색하고 노트북 인터페이스 내에서 데이터를 미리 봅니다.
  • ML 프로젝트에서 사용할 데이터를 효율적으로 탐색하고 변환하기 위해 동일한 노트북에 SQL과 Python 코드를 혼합합니다.
  • SQL 명령 완성, 코드 형식 지정 지원, 구문 강조와 같은 개발자 생산성 기능을 사용하여 코드 개발을 가속화하고 전반적인 개발자 생산성을 향상시킵니다.

또한 관리자는 이러한 데이터 서비스에 대한 연결을 안전하게 관리할 수 있으므로 데이터 과학자가 자격 증명을 수동으로 관리할 필요 없이 승인된 데이터에 액세스할 수 있습니다.

이 게시물에서는 SageMaker Studio에서 이 기능을 설정하는 방법을 안내하고 이 기능의 다양한 기능을 안내합니다. 그런 다음 자연어 텍스트를 입력으로 사용하여 복잡한 SQL 쿼리를 작성하기 위해 고급 LLM(대형 언어 모델)에서 제공하는 Text-to-SQL 기능을 사용하여 노트북 내 SQL 환경을 향상시킬 수 있는 방법을 보여줍니다. 마지막으로, 더 많은 사용자가 노트북의 자연어 입력에서 SQL 쿼리를 생성할 수 있도록 다음을 사용하여 이러한 Text-to-SQL 모델을 배포하는 방법을 보여줍니다. 아마존 세이지 메이커 끝점.

솔루션 개요

SageMaker Studio JupyterLab 노트북의 SQL 통합을 통해 이제 Snowflake, Athena, Amazon Redshift 및 Amazon DataZone과 같은 널리 사용되는 데이터 소스에 연결할 수 있습니다. 이 새로운 기능을 사용하면 다양한 기능을 수행할 수 있습니다.

예를 들어 JupyterLab 생태계에서 직접 데이터베이스, 테이블, 스키마와 같은 데이터 소스를 시각적으로 탐색할 수 있습니다. 노트북 환경이 SageMaker Distribution 1.6 이상에서 실행 중인 경우 JupyterLab 인터페이스 왼쪽에서 새 위젯을 찾으십시오. 이 추가 기능은 개발 환경 내에서 데이터 접근성 및 관리를 향상시킵니다.

현재 권장되는 SageMaker 배포판(1.5 이하) 또는 사용자 지정 환경을 사용하고 있지 않은 경우 자세한 내용은 부록을 참조하십시오.

연결을 설정한 후에(다음 섹션에 설명됨) 데이터 연결을 나열하고, 데이터베이스와 테이블을 찾아보고, 스키마를 검사할 수 있습니다.

SageMaker Studio JupyterLab 내장 SQL 확장을 사용하면 노트북에서 직접 SQL 쿼리를 실행할 수도 있습니다. Jupyter 노트북은 다음을 사용하여 SQL과 Python 코드를 구별할 수 있습니다. %%sm_sql SQL 코드가 포함된 모든 셀의 맨 위에 배치되어야 하는 매직 명령입니다. 이 명령은 다음 지침이 Python 코드가 아닌 SQL 명령임을 JupyterLab에 알립니다. 쿼리 출력은 노트북 내에 직접 표시될 수 있으므로 데이터 분석에서 SQL 및 Python 워크플로의 원활한 통합이 용이해집니다.

다음 스크린샷과 같이 쿼리 출력은 HTML 테이블로 시각적으로 표시될 수 있습니다.

또한 팬더 데이터 프레임.

사전 조건

SageMaker Studio 노트북 SQL 환경을 사용하려면 다음 전제 조건을 충족했는지 확인하십시오.

  • SageMaker 스튜디오 V2 – 최신 버전의 제품을 실행하고 있는지 확인하세요. SageMaker Studio 도메인 및 사용자 프로필. 현재 SageMaker Studio Classic을 사용 중인 경우 다음을 참조하십시오. Amazon SageMaker Studio Classic에서 마이그레이션.
  • IAM 역할 – SageMaker에는 AWS 자격 증명 및 액세스 관리 (IAM) 역할을 SageMaker Studio 도메인 또는 사용자 프로필에 할당하여 권한을 효과적으로 관리합니다. 데이터 검색 및 SQL 실행 기능을 가져오려면 실행 역할 업데이트가 필요할 수 있습니다. 다음 예제 정책을 사용하면 사용자가 권한을 부여하고, 나열하고, 실행할 수 있습니다. AWS 접착제, 아테나, 아마존 단순 스토리지 서비스 (아마존 S3), AWS 비밀 관리자및 Amazon Redshift 리소스:
    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Sid":"SQLRelatedS3Permissions",
             "Effect":"Allow",
             "Action":[
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload",
                "s3:PutObject"
             ],
             "Resource":[
                "arn:aws:s3:::sagemaker*/*",
                "arn:aws:s3:::sagemaker*"
             ]
          },
          {
             "Sid":"GlueDataAccess",
             "Effect":"Allow",
             "Action":[
                "glue:GetDatabases",
                "glue:GetSchema",
                "glue:GetTables",
                "glue:GetDatabase",
                "glue:GetTable",
                "glue:ListSchemas",
                "glue:GetPartitions",
                "glue:GetConnections",
                "glue:GetConnection",
                "glue:CreateConnection"
             ],
             "Resource":[
                "arn:aws:glue:<region>:<account>:table/sagemaker*/*",
                "arn:aws:glue:<region>:<account>:database/sagemaker*",
                "arn:aws:glue:<region>:<account>:schema/sagemaker*",
                "arn:aws:glue:<region>:<account>:connection/sagemaker*",
                "arn:aws:glue:<region>:<account>:registry/sagemaker*",
                "arn:aws:glue:<region>:<account>:catalog"
             ]
          },
          {
             "Sid":"AthenaQueryExecution",
             "Effect":"Allow",
             "Action":[
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:RunQuery",
                "athena:StartSession",
                "athena:GetQueryResults",
                "athena:ListWorkGroups",
                "athena:GetDataCatalog",
                "athena:GetWorkGroup"
             ],
             "Resource":[
                "arn:aws:athena:<region>:<account>:workgroup/sagemaker*",
                "arn:aws:athena:<region>:<account>:datacatalog/sagemaker*"
             ]
          },
          {
             "Sid":"GetSecretsAndCredentials",
             "Effect":"Allow",
             "Action":[
                "secretsmanager:GetSecretValue",
                "redshift:GetClusterCredentials"
             ],
             "Resource":[
                "arn:aws:secretsmanager:<region>:<account>:secret:sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbuser:sagemaker*/sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbgroup:sagemaker*/sagemaker*",
                "arn:aws:redshift:<region>:<account>:dbname:sagemaker*/sagemaker*"
             ]
          }
       ]
    }

  • JupyterLab 공간 – 업데이트된 SageMaker Studio 및 JupyterLab Space에 액세스해야 합니다. SageMaker 배포 v1.6 이상의 이미지 버전. JupyterLab Spaces 또는 이전 버전의 SageMaker 배포(v1.5 이하)용 사용자 지정 이미지를 사용하는 경우 환경에서 이 기능을 활성화하는 데 필요한 패키지 및 모듈을 설치하는 방법에 대한 지침은 부록을 참조하세요. SageMaker Studio JupyterLab 공간에 대해 자세히 알아보려면 다음을 참조하십시오. Amazon SageMaker Studio에서 생산성 향상: JupyterLab Spaces 및 생성 AI 도구 소개.
  • 데이터 소스 액세스 자격 증명 – 이 SageMaker Studio 노트북 기능을 사용하려면 Snowflake 및 Amazon Redshift와 같은 데이터 소스에 대한 사용자 이름 및 암호 액세스가 필요합니다. 아직 데이터 소스가 없는 경우 이러한 데이터 소스에 대한 사용자 이름 및 비밀번호 기반 액세스를 생성하십시오. Snowflake에 대한 OAuth 기반 액세스는 이 글을 쓰는 시점에서 지원되는 기능이 아닙니다.
  • SQL 매직 로드 – Jupyter 노트북 셀에서 SQL 쿼리를 실행하기 전에 SQL 매직 확장을 로드하는 것이 중요합니다. 명령을 사용하십시오 %load_ext amazon_sagemaker_sql_magic 이 기능을 활성화하려면 또한 다음을 실행할 수 있습니다. %sm_sql? SQL 셀에서 쿼리하기 위해 지원되는 옵션의 전체 목록을 보려면 명령을 사용합니다. 이러한 옵션에는 기본 쿼리 제한 1,000개 설정, 전체 추출 실행, 쿼리 매개변수 삽입 등이 포함됩니다. 이 설정을 사용하면 노트북 환경 내에서 직접 유연하고 효율적인 SQL 데이터 조작이 가능합니다.

데이터베이스 연결 생성

SageMaker Studio에 내장된 SQL 검색 및 실행 기능은 AWS Glue 연결을 통해 향상됩니다. AWS Glue 연결은 로그인 자격 증명, URI 문자열, 특정 데이터 스토어에 대한 Virtual Private Cloud(VPC) 정보 등 필수 데이터를 저장하는 AWS Glue 데이터 카탈로그 객체입니다. 이러한 연결은 AWS Glue 크롤러, 작업 및 개발 엔드포인트에서 다양한 유형의 데이터 스토어에 액세스하는 데 사용됩니다. 소스 및 대상 데이터 모두에 대해 이러한 연결을 사용할 수 있으며 여러 크롤러 또는 ETL(추출, 변환 및 로드) 작업에서 동일한 연결을 재사용할 수도 있습니다.

SageMaker Studio의 왼쪽 창에서 SQL 데이터 소스를 탐색하려면 먼저 AWS Glue 연결 객체를 생성해야 합니다. 이러한 연결을 통해 다양한 데이터 소스에 대한 액세스가 용이해지고 도식 데이터 요소를 탐색할 수 있습니다.

다음 섹션에서는 SQL 관련 AWS Glue 커넥터를 생성하는 과정을 안내합니다. 이를 통해 다양한 데이터 저장소의 데이터 세트에 액세스하고, 보고, 탐색할 수 있습니다. AWS Glue 연결에 대한 자세한 내용은 다음을 참조하세요. 데이터에 연결 중.

AWS Glue 연결 생성

데이터 소스를 SageMaker Studio로 가져오는 유일한 방법은 AWS Glue 연결을 사용하는 것입니다. 특정 연결 유형을 사용하여 AWS Glue 연결을 생성해야 합니다. 이 글을 쓰는 시점에서 이러한 연결을 생성하는 데 지원되는 유일한 메커니즘은 다음을 사용하는 것입니다. AWS 명령 줄 인터페이스 (AWS CLI).

연결 정의 JSON 파일

AWS Glue의 다양한 데이터 소스에 연결할 때 먼저 연결 속성을 정의하는 JSON 파일을 생성해야 합니다. 연결 정의 파일. 이 파일은 AWS Glue 연결을 설정하는 데 중요하며 데이터 소스에 액세스하는 데 필요한 모든 구성을 자세히 설명해야 합니다. 보안 모범 사례를 위해 Secrets Manager를 사용하여 비밀번호와 같은 민감한 정보를 안전하게 저장하는 것이 좋습니다. 한편, 다른 연결 속성은 AWS Glue 연결을 통해 직접 관리할 수 있습니다. 이 접근 방식을 사용하면 중요한 자격 증명을 보호하는 동시에 연결 구성에 액세스하고 관리할 수 있습니다.

다음은 연결 정의 JSON의 예입니다.

{
    "ConnectionInput": {
        "Name": <GLUE_CONNECTION_NAME>,
        "Description": <GLUE_CONNECTION_DESCRIPTION>,
        "ConnectionType": "REDSHIFT | SNOWFLAKE | ATHENA",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": <SECRET_ARN>, "database": <...>}"
        }
    }
}

데이터 소스에 대한 AWS Glue 연결을 설정할 때 기능과 보안을 모두 제공하기 위해 따라야 할 몇 가지 중요한 지침이 있습니다.

  • 속성의 문자열화 - 내 PythonProperties 키, 모든 속성이 다음과 같은지 확인하세요. 문자열화된 키-값 쌍. 필요한 경우 백슬래시() 문자를 사용하여 큰따옴표를 적절하게 이스케이프하는 것이 중요합니다. 이는 올바른 형식을 유지하고 JSON의 구문 오류를 방지하는 데 도움이 됩니다.
  • 민감한 정보 처리 – 모든 연결 속성을 포함할 수도 있지만 PythonProperties, 비밀번호와 같은 민감한 세부정보를 이러한 속성에 직접 포함하지 않는 것이 좋습니다. 대신 민감한 정보를 처리하려면 Secrets Manager를 사용하세요. 이 접근 방식은 중요한 데이터를 기본 구성 파일과 별도로 통제되고 암호화된 환경에 저장하여 보호합니다.

AWS CLI를 사용하여 AWS Glue 연결 생성

연결 정의 JSON 파일에 필요한 필드를 모두 포함하고 나면 AWS CLI와 다음 명령을 사용하여 데이터 원본에 대한 AWS Glue 연결을 설정할 준비가 된 것입니다.

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/connection/definition/file.json

이 명령은 JSON 파일에 자세히 설명된 사양을 기반으로 새로운 AWS Glue 연결을 시작합니다. 다음은 명령 구성 요소에 대한 간략한 분석입니다.

  • -지역 – AWS Glue 연결이 생성될 AWS 리전을 지정합니다. 대기 시간을 최소화하고 데이터 상주 요구 사항을 준수하려면 데이터 원본 및 기타 서비스가 있는 지역을 선택하는 것이 중요합니다.
  • –cli-input-json 파일:///path/to/file/connection/definition/file.json – 이 매개변수는 AWS CLI가 JSON 형식의 연결 정의가 포함된 로컬 파일에서 입력 구성을 읽도록 지시합니다.

Studio JupyterLab 터미널에서 이전 AWS CLI 명령을 사용하여 AWS Glue 연결을 생성할 수 있어야 합니다. 에 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 메뉴, 선택 신제품단말기.

경우 create-connection 명령이 성공적으로 실행되면 SQL 브라우저 창에 데이터 원본이 나열되는 것을 볼 수 있습니다. 데이터 소스가 나열되지 않으면 다음을 선택하세요. 새로 고침 캐시를 업데이트합니다.

Snowflake 연결 만들기

이 섹션에서는 Snowflake 데이터 소스를 SageMaker Studio와 통합하는 데 중점을 둡니다. Snowflake 계정, 데이터베이스 및 창고 생성은 이 게시물의 범위를 벗어납니다. Snowflake를 시작하려면 다음을 참조하세요. 눈송이 사용자 가이드. 이 게시물에서는 Snowflake 정의 JSON 파일을 생성하고 AWS Glue를 사용하여 Snowflake 데이터 원본 연결을 설정하는 방법에 중점을 둡니다.

Secrets Manager 비밀 생성

사용자 ID와 비밀번호를 사용하거나 개인 키를 사용하여 Snowflake 계정에 연결할 수 있습니다. 사용자 ID와 비밀번호로 연결하려면 Secrets Manager에 자격 증명을 안전하게 저장해야 합니다. 이전에 언급했듯이 이 정보를 PythonProperties에 포함할 수는 있지만 민감한 정보를 일반 텍스트 형식으로 저장하는 것은 권장되지 않습니다. 잠재적인 보안 위험을 방지하려면 항상 민감한 데이터가 안전하게 처리되는지 확인하십시오.

Secrets Manager에 정보를 저장하려면 다음 단계를 완료하세요.

  1. Secrets Manager 콘솔에서 새로운 비밀을 저장.
  2. 럭셔리 비밀 유형선택한다. 다른 유형의 비밀.
  3. 키-값 쌍의 경우 다음을 선택합니다. 평문 다음을 입력하십시오.
    {
        "user":"TestUser",
        "password":"MyTestPassword",
        "account":"AWSSAGEMAKERTEST"
    }

  4. 다음과 같이 비밀 이름을 입력하세요. sm-sql-snowflake-secret.
  5. 다른 설정은 기본값으로 두거나 필요한 경우 사용자 정의합니다.
  6. 비밀을 만듭니다.

Snowflake용 AWS Glue 연결 생성

앞에서 설명한 것처럼 SageMaker Studio에서 모든 연결에 액세스하려면 AWS Glue 연결이 필수적입니다. 당신은 목록을 찾을 수 있습니다 Snowflake에 대해 지원되는 모든 연결 속성. 다음은 Snowflake에 대한 샘플 연결 정의 JSON입니다. 디스크에 저장하기 전에 자리 표시자 값을 적절한 값으로 바꾸십시오.

{
    "ConnectionInput": {
        "Name": "Snowflake-Airlines-Dataset",
        "Description": "SageMaker-Snowflake Airlines Dataset",
        "ConnectionType": "SNOWFLAKE",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": "arn:aws:secretsmanager:<region>:<account>:secret:sm-sql-snowflake-secret", "database": "SAGEMAKERDEMODATABASE1"}"
        }
    }
}

Snowflake 데이터 소스에 대한 AWS Glue 연결 객체를 생성하려면 다음 명령을 사용하십시오.

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/snowflake/definition/file.json

이 명령은 검색 가능한 SQL 브라우저 창에 새 Snowflake 데이터 원본 연결을 생성하고 JupyterLab 노트북 셀에서 이에 대해 SQL 쿼리를 실행할 수 있습니다.

Amazon Redshift 연결 생성

Amazon Redshift는 표준 SQL을 사용하여 모든 데이터 분석을 단순화하고 비용을 절감하는 완전 관리형 페타바이트 규모의 데이터 웨어하우스 서비스입니다. Amazon Redshift 연결을 생성하는 절차는 Snowflake 연결의 절차와 거의 동일합니다.

Secrets Manager 비밀 생성

Snowflake 설정과 마찬가지로 사용자 ID와 암호를 사용하여 Amazon Redshift에 연결하려면 Secrets Manager에 비밀 정보를 안전하게 저장해야 합니다. 다음 단계를 완료하세요.

  1. Secrets Manager 콘솔에서 새로운 비밀을 저장.
  2. 럭셔리 비밀 유형선택한다. Amazon Redshift 클러스터의 자격 증명.
  3. 데이터 원본으로 Amazon Redshift에 액세스하기 위해 로그인하는 데 사용되는 자격 증명을 입력합니다.
  4. 비밀과 연결된 Redshift 클러스터를 선택합니다.
  5. 다음과 같이 비밀 이름을 입력하세요. sm-sql-redshift-secret.
  6. 다른 설정은 기본값으로 두거나 필요한 경우 사용자 정의합니다.
  7. 비밀을 만듭니다.

다음 단계를 수행하면 AWS의 강력한 보안 기능을 사용하여 민감한 데이터를 효과적으로 관리함으로써 연결 자격 증명이 안전하게 처리되는지 확인할 수 있습니다.

Amazon Redshift에 대한 AWS Glue 연결 생성

JSON 정의를 사용하여 Amazon Redshift와의 연결을 설정하려면 필요한 필드를 입력하고 다음 JSON 구성을 디스크에 저장하십시오.

{
    "ConnectionInput": {
        "Name": "Redshift-US-Housing-Dataset",
        "Description": "sagemaker redshift us housing dataset connection",
        "ConnectionType": "REDSHIFT",
        "ConnectionProperties": {
            "PythonProperties": "{"aws_secret_arn": "arn:aws:secretsmanager:<region>:<account>:sm-sql-redshift-secret", "database": "us-housing-database"}"
        }
    }
}

Redshift 데이터 소스에 대한 AWS Glue 연결 객체를 생성하려면 다음 AWS CLI 명령을 사용하십시오.

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/redshift/definition/file.json

이 명령은 Redshift 데이터 소스에 연결된 AWS Glue에 연결을 생성합니다. 명령이 성공적으로 실행되면 SageMaker Studio JupyterLab 노트북 내에서 Redshift 데이터 소스를 볼 수 있으며, SQL 쿼리를 실행하고 데이터 분석을 수행할 준비가 됩니다.

Athena 연결 생성

Athena는 표준 SQL을 사용하여 Amazon S3에 저장된 데이터를 분석할 수 있는 AWS의 완전관리형 SQL 쿼리 서비스입니다. JupyterLab 노트북의 SQL 브라우저에서 Athena 연결을 데이터 소스로 설정하려면 Athena 샘플 연결 정의 JSON을 생성해야 합니다. 다음 JSON 구조는 데이터 카탈로그, S3 준비 디렉터리 및 리전을 지정하여 Athena에 연결하는 데 필요한 세부 정보를 구성합니다.

{
    "ConnectionInput": {
        "Name": "Athena-Credit-Card-Fraud",
        "Description": "SageMaker-Athena Credit Card Fraud",
        "ConnectionType": "ATHENA",
        "ConnectionProperties": {
            "PythonProperties": "{"catalog_name": "AwsDataCatalog","s3_staging_dir": "s3://sagemaker-us-east-2-123456789/athena-data-source/credit-card-fraud/", "region_name": "us-east-2"}"
        }
    }
}

Athena 데이터 소스에 대한 AWS Glue 연결 객체를 생성하려면 다음 AWS CLI 명령을 사용하십시오.

aws --region <REGION> glue create-connection 
--cli-input-json file:///path/to/file/athena/definition/file.json

명령이 성공하면 SageMaker Studio JupyterLab 노트북 내의 SQL 브라우저에서 직접 Athena 데이터 카탈로그와 테이블에 액세스할 수 있습니다.

여러 소스의 데이터 쿼리

내장된 SQL 브라우저와 노트북 SQL 기능을 통해 여러 데이터 소스가 SageMaker Studio에 통합된 경우 쿼리를 빠르게 실행하고 노트북 내 후속 셀의 데이터 소스 백엔드 간에 쉽게 전환할 수 있습니다. 이 기능을 사용하면 분석 워크플로우 중에 다양한 데이터베이스 또는 데이터 소스 간에 원활한 전환이 가능합니다.

다양한 데이터 소스 백엔드 컬렉션에 대해 쿼리를 실행하고 추가 분석 또는 시각화를 위해 결과를 Python 공간으로 직접 가져올 수 있습니다. 이는 다음에 의해 촉진됩니다. %%sm_sql SageMaker Studio 노트북에서 사용할 수 있는 마법 명령입니다. SQL 쿼리 결과를 Pandas DataFrame으로 출력하려면 다음 두 가지 옵션이 있습니다.

  • 노트북 셀 도구 모음에서 출력 유형을 선택하세요. 데이터 프레임 DataFrame 변수 이름을 지정하고
  • 다음 매개변수를 %%sm_sql 명령:
    --output '{"format": "DATAFRAME", "dataframe_name": "df"}'

다음 다이어그램은 이 워크플로를 설명하고 후속 노트북 셀의 다양한 소스에서 쿼리를 손쉽게 실행하는 방법과 교육 작업을 사용하여 SageMaker 모델을 교육하거나 로컬 컴퓨팅을 사용하여 노트북 내에서 직접 교육하는 방법을 보여줍니다. 또한 이 다이어그램은 SageMaker Studio의 내장 SQL 통합이 JupyterLab 노트북 셀의 친숙한 환경 내에서 직접 추출 및 구축 프로세스를 단순화하는 방법을 강조합니다.

텍스트를 SQL로: 자연어를 사용하여 쿼리 작성 향상

SQL은 데이터베이스, 테이블, 구문 및 메타데이터에 대한 이해가 필요한 복잡한 언어입니다. 오늘날 생성적 인공 지능(AI)을 사용하면 심층적인 SQL 경험 없이도 복잡한 SQL 쿼리를 작성할 수 있습니다. LLM의 발전은 자연어 처리(NLP) 기반 SQL 생성에 큰 영향을 미쳤으며, 자연어 설명에서 정확한 SQL 쿼리를 생성할 수 있게 되었습니다. 이 기술을 Text-to-SQL이라고 합니다. 그러나 인간 언어와 SQL 간의 본질적인 차이점을 인정하는 것이 중요합니다. 인간의 언어는 때때로 모호하거나 부정확할 수 있는 반면, SQL은 구조화되고 명시적이며 모호하지 않습니다. 이러한 격차를 해소하고 자연어를 SQL 쿼리로 정확하게 변환하는 것은 엄청난 과제가 될 수 있습니다. 적절한 프롬프트가 제공되면 LLM은 인간 언어의 의도를 이해하고 이에 따라 정확한 SQL 쿼리를 생성함으로써 이러한 격차를 해소하는 데 도움을 줄 수 있습니다.

SageMaker Studio 노트북 내 SQL 쿼리 기능이 출시되면서 SageMaker Studio에서는 Jupyter 노트북 IDE를 종료하지 않고도 데이터베이스와 스키마를 검사하고 SQL 쿼리를 작성, 실행 및 디버깅하는 작업이 간편해졌습니다. 이 섹션에서는 고급 LLM의 Text-to-SQL 기능이 Jupyter Notebook 내에서 자연어를 사용하여 SQL 쿼리 생성을 용이하게 하는 방법을 살펴봅니다. 우리는 최첨단 Text-to-SQL 모델을 사용합니다. defog/sqlcoder-7b-2 Jupyter 노트북용으로 특별히 설계된 생성적 AI 도우미인 Jupyter AI와 함께 자연어에서 복잡한 SQL 쿼리를 생성합니다. 이 고급 모델을 사용하면 자연어를 사용하여 복잡한 SQL 쿼리를 쉽고 효율적으로 생성할 수 있으므로 노트북 내 SQL 경험이 향상됩니다.

Hugging Face Hub를 사용한 노트북 프로토타이핑

프로토타입 제작을 시작하려면 다음이 필요합니다.

  • GitHub 코드 – 이 섹션에 제시된 코드는 다음에서 사용할 수 있습니다. GitHub 레포 그리고 다음을 참조하여 노트북 예.
  • JupyterLab 공간 – GPU 기반 인스턴스가 지원되는 SageMaker Studio JupyterLab Space에 대한 액세스가 필수적입니다. 에 대한 defog/sqlcoder-7b-2 모델인 7B 매개변수 모델은 ml.g5.2xlarge 인스턴스를 사용하는 것이 좋습니다. 다음과 같은 대안 defog/sqlcoder-70b-alph또는 defog/sqlcoder-34b-alpha 자연어를 SQL로 변환하는 데에도 실행 가능하지만 프로토타입 제작에는 더 큰 인스턴스 유형이 필요할 수 있습니다. Service Quotas 콘솔로 이동하고 SageMaker를 검색한 후 다음을 검색하여 GPU 지원 인스턴스를 시작할 수 있는 할당량이 있는지 확인하세요. Studio JupyterLab Apps running on <instance type>.

SageMaker Studio에서 새로운 GPU 지원 JupyterLab Space를 시작하세요. 최소 75GB의 용량으로 새 JupyterLab 공간을 생성하는 것이 좋습니다. 아마존 엘라스틱 블록 스토어 (Amazon EBS) 7B 매개변수 모델용 스토리지입니다.

  • 허깅 페이스 허브 – SageMaker Studio 도메인이 다음에서 모델을 다운로드할 수 있는 액세스 권한이 있는 경우 허깅 페이스 허브, AutoModelForCausalLM 수업에서 포옹얼굴/변압기 모델을 자동으로 다운로드하고 로컬 GPU에 고정합니다. 모델 가중치는 로컬 컴퓨터의 캐시에 저장됩니다. 다음 코드를 참조하세요.
    model_id = "defog/sqlcoder-7b-2" # or use "defog/sqlcoder-34b-alpha", "defog/sqlcoder-70b-alpha
    
    # download model and tokenizer in fp16 and pin model to local notebook GPUs
    model = AutoModelForCausalLM.from_pretrained(
        model_id, 
        device_map="auto",
        torch_dtype=torch.float16
    )
    
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    tokenizer.pad_token = tokenizer.eos_token

모델이 완전히 다운로드되어 메모리에 로드되면 로컬 컴퓨터에서 GPU 사용률이 증가하는 것을 관찰해야 합니다. 이는 모델이 계산 작업에 GPU 리소스를 적극적으로 사용하고 있음을 나타냅니다. 다음을 실행하여 자신의 JupyterLab 공간에서 이를 확인할 수 있습니다. nvidia-smi (일회성 표시용) 또는 nvidia-smi —loop=1 (매초마다 반복) JupyterLab 터미널에서.

Text-to-SQL 모델은 사용된 언어가 대화체이거나 모호한 경우에도 사용자 요청의 의도와 컨텍스트를 이해하는 데 탁월합니다. 이 프로세스에는 자연어 입력을 테이블 이름, 열 이름 및 조건과 같은 올바른 데이터베이스 스키마 요소로 변환하는 작업이 포함됩니다. 그러나 상용 Text-to-SQL 모델은 본질적으로 데이터 웨어하우스의 구조, 특정 데이터베이스 스키마를 알지 못하거나 열 이름만을 기반으로 테이블의 내용을 정확하게 해석할 수 없습니다. 이러한 모델을 효과적으로 사용하여 자연어에서 실용적이고 효율적인 SQL 쿼리를 생성하려면 SQL 텍스트 생성 모델을 특정 웨어하우스 데이터베이스 스키마에 맞게 조정해야 합니다. 이러한 적응은 다음을 사용하여 촉진됩니다. LLM 프롬프트. 다음은 defog/sqlcoder-7b-2 Text-to-SQL 모델에 권장되는 프롬프트 템플릿으로, 네 부분으로 나뉩니다.

  • 태스크 – 이 섹션에서는 모델이 수행할 상위 수준 작업을 지정해야 합니다. 모델이 최종 SQL 쿼리 생성에 영향을 미칠 수 있는 미묘한 구문 차이를 인식할 수 있도록 데이터베이스 백엔드 유형(예: Amazon RDS, PostgreSQL 또는 Amazon Redshift)을 포함해야 합니다.
  • 명령 – 이 섹션에서는 모델에 대한 작업 경계와 도메인 인식을 정의해야 하며, 미세 조정된 SQL 쿼리를 생성하는 데 모델을 안내하는 몇 가지 예가 포함될 수 있습니다.
  • 데이터베이스 스키마 – 이 섹션에서는 웨어하우스 데이터베이스 스키마를 자세히 설명하고 모델이 데이터베이스 구조를 이해하는 데 도움이 되도록 테이블과 열 간의 관계를 간략하게 설명해야 합니다.
  • 대답 – 이 섹션은 모델이 자연어 입력에 대한 SQL 쿼리 응답을 출력하기 위해 예약되어 있습니다.

이 섹션에 사용된 데이터베이스 스키마 및 프롬프트의 예는 GitHub 저장소.

### Task
Generate a SQL query to answer [QUESTION]{user_question}[/QUESTION]

### Instructions
- If you cannot answer the question with the available database schema, return 'I do not know'

### Database Schema
The query will run on a database with the following schema:
{table_metadata_string_DDL_statements}

### Answer
Given the database schema, here is the SQL query that 
 [QUESTION]
    {user_question}
 [/QUESTION]

[SQL]

프롬프트 엔지니어링은 단순히 질문이나 진술을 작성하는 것이 아닙니다. AI 모델과의 상호 작용 품질에 큰 영향을 미치는 것은 미묘한 예술이자 과학입니다. 프롬프트를 작성하는 방식은 AI 응답의 성격과 유용성에 큰 영향을 미칠 수 있습니다. 이 기술은 특히 전문적인 이해와 상세한 대응이 필요한 복잡한 작업에서 AI 상호 작용의 잠재력을 극대화하는 데 중추적인 역할을 합니다.

주어진 프롬프트에 대한 모델의 응답을 신속하게 구축 및 테스트하고 응답을 기반으로 프롬프트를 최적화할 수 있는 옵션을 갖는 것이 중요합니다. JupyterLab 노트북은 로컬 컴퓨팅에서 실행되는 모델로부터 즉각적인 모델 피드백을 수신하고 프롬프트를 최적화하고 모델의 응답을 추가로 조정하거나 모델을 완전히 변경하는 기능을 제공합니다. 이 게시물에서는 ml.g5.2xlarge의 NVIDIA A10G 24GB GPU가 지원되는 SageMaker Studio JupyterLab 노트북을 사용하여 노트북에서 Text-to-SQL 모델 추론을 실행하고 모델 응답이 충분히 조정될 때까지 모델 프롬프트를 대화형으로 구축합니다. JupyterLab의 SQL 셀에서 직접 실행할 수 있는 응답입니다. 모델 추론을 실행하고 동시에 모델 응답을 스트리밍하기 위해 다음의 조합을 사용합니다. model.generateTextIteratorStreamer 다음 코드에 정의된 대로:

streamer = TextIteratorStreamer(
    tokenizer=tokenizer, 
    timeout=240.0, 
    skip_prompt=True, 
    skip_special_tokens=True
)


def llm_generate_query(user_question):
    """ Generate text-gen SQL responses"""
    
    updated_prompt = prompt.format(question=user_question)
    inputs = tokenizer(updated_prompt, return_tensors="pt").to("cuda")
    
    return model.generate(
        **inputs,
        num_return_sequences=1,
        eos_token_id=tokenizer.eos_token_id,
        pad_token_id=tokenizer.eos_token_id,
        max_new_tokens=1024,
        temperature=0.1,
        do_sample=False,
        num_beams=1, 
        streamer=streamer,
    )

모델의 출력은 SageMaker SQL 매직으로 장식될 수 있습니다. %%sm_sql ..., JupyterLab 노트북이 셀을 SQL 셀로 식별할 수 있게 해줍니다.

Text-to-SQL 모델을 SageMaker 엔드포인트로 호스팅

프로토타입 단계가 끝나면 선호하는 Text-to-SQL LLM, 효과적인 프롬프트 형식 및 모델 호스팅에 적합한 인스턴스 유형(단일 GPU 또는 다중 GPU)을 선택했습니다. SageMaker는 SageMaker 엔드포인트를 사용하여 사용자 지정 모델의 확장 가능한 호스팅을 용이하게 합니다. 이러한 끝점은 특정 기준에 따라 정의될 수 있으므로 LLM을 끝점으로 배포할 수 있습니다. 이 기능을 사용하면 더 많은 대상으로 솔루션을 확장할 수 있으므로 사용자는 사용자 지정 호스팅 LLM을 사용하여 자연어 입력에서 SQL 쿼리를 생성할 수 있습니다. 다음 다이어그램은 이 아키텍처를 보여줍니다.

LLM을 SageMaker 엔드포인트로 호스팅하려면 여러 아티팩트를 생성합니다.

첫 번째 아티팩트는 모델 가중치입니다. SageMaker Deep Java 라이브러리(DJL) 제공 컨테이너를 사용하면 메타를 통해 구성을 설정할 수 있습니다. 서빙.속성 파일을 사용하면 Hugging Face Hub에서 직접 또는 Amazon S3에서 모델 아티팩트를 다운로드하여 모델이 소싱되는 방식을 지시할 수 있습니다. 당신이 지정하는 경우 model_id=defog/sqlcoder-7b-2, DJL Serving은 Hugging Face Hub에서 이 모델을 직접 다운로드하려고 시도합니다. 그러나 엔드포인트가 배포되거나 탄력적으로 확장될 때마다 네트워킹 수신/송신 요금이 발생할 수 있습니다. 이러한 요금을 피하고 잠재적으로 모델 아티팩트 다운로드 속도를 높이려면 사용을 건너뛰는 것이 좋습니다. model_id in serving.properties 모델 가중치를 S3 아티팩트로 저장하고 다음으로만 지정합니다. s3url=s3://path/to/model/bin.

모델(토큰나이저 포함)을 디스크에 저장하고 Amazon S3에 업로드하는 작업은 단 몇 줄의 코드만으로 수행할 수 있습니다.

# save model and tokenizer to local disk
model.save_pretrained(local_model_path)
tokenizer.save_pretrained(local_model_path)
...
...
...
# upload file to s3
s3_bucket_name = "<my llm artifact bucket name>>"
# s3 prefix to save model weights and tokenizer defs
model_s3_prefix = "sqlcoder-7b-instruct/weights"
# s3 prefix to store s
meta_model_s3_prefix = "sqlcoder-7b-instruct/meta-model"

sagemaker.s3.S3Uploader.upload(local_model_path,  f"s3://{s3_bucket_name}/{model_s3_prefix}")

데이터베이스 프롬프트 파일도 사용합니다. 이 설정에서 데이터베이스 프롬프트는 다음과 같이 구성됩니다. Task, Instructions, Database SchemaAnswer sections. 현재 아키텍처에서는 각 데이터베이스 스키마에 대해 별도의 프롬프트 파일을 할당합니다. 그러나 프롬프트 파일당 여러 데이터베이스를 포함하도록 이 설정을 확장할 수 있는 유연성이 있으므로 모델이 동일한 서버의 데이터베이스 간에 복합 조인을 실행할 수 있습니다. 프로토타입 단계에서는 데이터베이스 프롬프트를 다음과 같은 텍스트 파일로 저장합니다. <Database-Glue-Connection-Name>.prompt어디로 Database-Glue-Connection-Name JupyterLab 환경에 표시되는 연결 이름에 해당합니다. 예를 들어 이 게시물은 다음과 같은 Snowflake 연결을 참조합니다. Airlines_Dataset이므로 데이터베이스 프롬프트 파일의 이름은 다음과 같습니다. Airlines_Dataset.prompt. 그런 다음 이 파일은 Amazon S3에 저장되고 이후 모델 제공 로직에 의해 읽고 캐시됩니다.

또한 이 아키텍처를 사용하면 이 엔드포인트의 인증된 사용자는 모델을 여러 번 재배포할 필요 없이 SQL 쿼리에 대한 자연어를 정의, 저장 및 생성할 수 있습니다. 우리는 다음을 사용합니다 데이터베이스 프롬프트의 예 Text-to-SQL 기능을 보여줍니다.

다음으로 사용자 정의 모델 서비스 논리를 생성합니다. 이 섹션에서는 다음과 같은 사용자 지정 추론 논리를 간략하게 설명합니다. 모델.py. 이 스크립트는 Text-to-SQL 서비스의 성능과 통합을 최적화하도록 설계되었습니다.

  • 데이터베이스 프롬프트 파일 캐싱 논리 정의 – 대기 시간을 최소화하기 위해 데이터베이스 프롬프트 파일을 다운로드하고 캐싱하기 위한 사용자 지정 논리를 구현합니다. 이 메커니즘을 사용하면 프롬프트를 쉽게 사용할 수 있으므로 빈번한 다운로드와 관련된 오버헤드가 줄어듭니다.
  • 사용자 정의 모델 추론 논리 정의 – 추론 속도를 높이기 위해 text-to-SQL 모델을 float16 정밀도 형식으로 로드한 다음 DeepSpeed ​​모델로 변환합니다. 이 단계를 통해 보다 효율적인 계산이 가능해집니다. 또한 이 논리 내에서 사용자가 필요에 따라 기능을 조정하기 위해 추론 호출 중에 조정할 수 있는 매개변수를 지정합니다.
  • 사용자 정의 입력 및 출력 논리 정의 – 다운스트림 애플리케이션과의 원활한 통합을 위해서는 명확하고 사용자 정의된 입력/출력 형식을 설정하는 것이 필수적입니다. 그러한 애플리케이션 중 하나가 JupyterAI입니다. 이에 대해서는 다음 섹션에서 논의합니다.
%%writefile {meta_model_filename}/model.py
...

predictor = None
prompt_for_db_dict_cache = {}

def download_prompt_from_s3(prompt_filename):

    print(f"downloading prompt file: {prompt_filename}")
    s3 = boto3.resource('s3')
    ...


def get_model(properties):
    
    ...
    print(f"Loading model from {cwd}")
    model = AutoModelForCausalLM.from_pretrained(
        cwd, 
        low_cpu_mem_usage=True, 
        torch_dtype=torch.bfloat16
    )
    model = deepspeed.init_inference(
        model, 
        mp_size=properties["tensor_parallel_degree"]
    )
    
    ...


def handle(inputs: Input) -> None:

    ...

    global predictor
    if not predictor:
        predictor = get_model(inputs.get_properties())

    ...
    result = f"""%%sm_sql --metastore-id {prompt_for_db_key.split('.')[0]} --metastore-type GLUE_CONNECTIONnn{result}n"""
    result = [{'generated_text': result}]
    
    return Output().add(result)

추가적으로, 우리는 serving.properties DJL 제공을 사용하여 호스팅되는 모델에 대한 전역 구성 파일 역할을 하는 파일입니다. 자세한 내용은 다음을 참조하세요. 구성 및 설정.

마지막으로 requirements.txt 추론에 필요한 추가 모듈을 정의하고 배포를 위해 모든 것을 tarball로 패키징하는 파일입니다.

다음 코드를 참조하십시오.

os.system(f"tar czvf {meta_model_filename}.tar.gz ./{meta_model_filename}/")

>>>./deepspeed-djl-serving-7b/
>>>./deepspeed-djl-serving-7b/serving.properties
>>>./deepspeed-djl-serving-7b/model.py
>>>./deepspeed-djl-serving-7b/requirements.txt

SageMaker Studio Jupyter AI 도우미와 엔드포인트 통합

주피터 AI Jupyter Notebook에 생성 AI를 제공하는 오픈 소스 도구로, 생성 AI 모델을 탐색하기 위한 강력하고 사용자 친화적인 플랫폼을 제공합니다. 노트북 내부에 생성적 AI 놀이터를 만들기 위한 %%ai 매직, 대화 보조자로서 AI와 상호작용하기 위한 JupyterLab의 기본 채팅 UI, 다음과 같은 제공업체 아마존 타이탄, AI21, Anthropic, Cohere, Hugging Face 등의 관리형 서비스 아마존 기반암 및 SageMaker 엔드포인트. 이 게시물에서는 SageMaker 엔드포인트와 Jupyter AI의 기본 통합을 사용하여 Text-to-SQL 기능을 JupyterLab 노트북으로 가져옵니다. Jupyter AI 도구는 지원되는 모든 SageMaker Studio JupyterLab Spaces에 사전 설치되어 제공됩니다. SageMaker 배포 이미지; 최종 사용자는 SageMaker 호스팅 엔드포인트와 통합하기 위해 Jupyter AI 확장 사용을 시작하기 위해 추가 구성을 할 필요가 없습니다. 이 섹션에서는 통합 Jupyter AI 도구를 사용하는 두 가지 방법에 대해 설명합니다.

마법을 사용하는 노트북 내부의 Jupyter AI

주피터 AI %%ai Magic 명령을 사용하면 SageMaker Studio JupyterLab 노트북을 재현 가능한 생성 AI 환경으로 변환할 수 있습니다. AI 매직 사용을 시작하려면 사용할 jupyter_ai_magics 확장을 로드했는지 확인하세요. %%ai 마술, 추가로드 amazon_sagemaker_sql_magic 사용 %%sm_sql 마법:

# load sm_sql magic extension and ai magic extension
%load_ext jupyter_ai_magics
%load_ext amazon_sagemaker_sql_magic

다음을 사용하여 노트북에서 SageMaker 엔드포인트에 대한 호출을 실행하려면 %%ai Magic 명령을 실행하려면 다음 매개변수를 제공하고 명령을 다음과 같이 구성하십시오.

  • –지역 이름 – 엔드포인트가 배포되는 지역을 지정합니다. 이렇게 하면 요청이 올바른 지리적 위치로 라우팅됩니다.
  • –요청-스키마 – 입력 데이터의 스키마를 포함합니다. 이 스키마는 모델이 요청을 처리하는 데 필요한 입력 데이터의 예상 형식과 유형을 간략하게 설명합니다.
  • –응답 경로 – 모델의 출력이 있는 응답 개체 내의 경로를 정의합니다. 이 경로는 모델이 반환한 응답에서 관련 데이터를 추출하는 데 사용됩니다.
  • -f (선택 사항) – 이것은 출력 포맷터 모델이 반환한 출력 유형을 나타내는 플래그입니다. Jupyter 노트북의 컨텍스트에서 출력이 코드인 경우 출력을 Jupyter 노트북 셀 상단의 실행 가능한 코드 형식으로 지정하고 사용자 상호 작용을 위한 자유 텍스트 입력 영역 뒤에 이 플래그를 설정해야 합니다.

예를 들어 Jupyter 노트북 셀의 명령은 다음 코드와 유사할 수 있습니다.

%%ai sagemaker-endpoint:<endpoint-name> --region-name=us-east-1 
--request-schema={
    "inputs":"<prompt>", 
    "parameters":{
        "temperature":0.1,
        "top_p":0.2,
        "max_new_tokens":1024,
        "return_full_text":false
    }, 
    "db_prompt":"Airlines_Dataset.prompt"
  } 
--response-path=[0].generated_text -f code

My natural language query goes here...

Jupyter AI 채팅창

또는 내장된 사용자 인터페이스를 통해 SageMaker 엔드포인트와 상호 작용하여 쿼리 생성 또는 대화 참여 프로세스를 단순화할 수 있습니다. SageMaker 엔드포인트와 채팅을 시작하기 전에 다음 스크린샷과 같이 Jupyter AI에서 SageMaker 엔드포인트에 대한 관련 설정을 구성합니다.

결론

SageMaker Studio는 이제 SQL 지원을 JupyterLab 노트북에 통합하여 데이터 과학자 워크플로를 단순화하고 간소화합니다. 이를 통해 데이터 과학자는 여러 도구를 관리할 필요 없이 업무에 집중할 수 있습니다. 또한 SageMaker Studio에 새로 내장된 SQL 통합을 통해 데이터 페르소나는 자연어 텍스트를 입력으로 사용하여 SQL 쿼리를 쉽게 생성할 수 있으므로 워크플로가 가속화됩니다.

SageMaker Studio에서 이러한 기능을 살펴보는 것이 좋습니다. 자세한 내용은 다음을 참조하세요. Studio에서 SQL을 사용하여 데이터 준비.

충수

사용자 지정 환경에서 SQL 브라우저 및 노트북 SQL 셀을 활성화합니다.

SageMaker 배포 이미지를 사용하지 않거나 배포 이미지 1.5 이하를 사용하지 않는 경우 다음 명령을 실행하여 JupyterLab 환경 내에서 SQL 검색 기능을 활성화합니다.

npm install -g vscode-jsonrpc
npm install -g sql-language-server
pip install amazon-sagemaker-sql-execution==0.1.0
pip install amazon-sagemaker-sql-editor
restart-jupyter-server

SQL 브라우저 위젯 재배치

JupyterLab 위젯은 재배치를 허용합니다. 기본 설정에 따라 위젯을 JupyterLab 위젯 창의 양쪽으로 이동할 수 있습니다. 원하는 경우 위젯 아이콘을 마우스 오른쪽 버튼으로 클릭하고 다음을 선택하여 SQL 위젯의 방향을 사이드바의 반대쪽(오른쪽에서 왼쪽)으로 이동할 수 있습니다. 사이드바 측면 전환.


저자 소개

프라나브 머티 AWS의 AI/ML 전문가 솔루션 아키텍트입니다. 그는 고객이 기계 학습(ML) 워크로드를 구축, 교육, 배포하고 SageMaker로 마이그레이션하도록 돕는 데 중점을 두고 있습니다. 그는 이전에 최첨단 ML 기술을 사용하여 반도체 프로세스를 개선하기 위해 대규모 컴퓨터 비전(CV) 및 자연어 처리(NLP) 모델을 개발하는 반도체 업계에서 일했습니다. 여가 시간에는 체스를 두거나 여행을 즐깁니다. Pranav는 다음에서 찾을 수 있습니다. 링크드인.

바룬 샤 Amazon Web Services에서 Amazon SageMaker Studio를 담당하는 소프트웨어 엔지니어입니다. 그는 데이터 처리 및 데이터 준비 과정을 단순화하는 대화형 ML 솔루션을 구축하는 데 중점을 두고 있습니다. 여가 시간에는 Varun은 하이킹, 스키 등 야외 활동을 즐기며 항상 새롭고 흥미로운 장소를 발견합니다.

수메다 스와미 그는 Amazon Web Services의 수석 제품 관리자로 데이터 과학 및 기계 학습을 위한 IDE 개발 임무를 수행하는 SageMaker Studio 팀을 이끌고 있습니다. 그는 지난 15년 동안 기계 학습 기반 소비자 및 기업용 제품을 구축하는 데 헌신해 왔습니다.

보스코 앨버 커키 AWS의 선임 파트너 솔루션 아키텍트이며 엔터프라이즈 데이터베이스 공급업체 및 클라우드 제공업체의 데이터베이스 및 분석 제품에 대한 작업 경험이 20년 이상 있습니다. 그는 기술 회사가 데이터 분석 솔루션 및 제품을 설계하고 구현하도록 도왔습니다.

spot_img

최신 인텔리전스

spot_img