ജനറേറ്റീവ് ഡാറ്റ ഇന്റലിജൻസ്

ആമസോൺ EKS ക്ലസ്റ്ററുകൾക്കുള്ളിലെ AWS ഇൻഫെറൻഷ്യ നോഡുകൾക്കുള്ള ഓപ്പൺ സോഴ്‌സ് നിരീക്ഷണം | ആമസോൺ വെബ് സേവനങ്ങൾ

തീയതി:

മെഷീൻ ലേണിംഗിലെ (ML) സമീപകാല സംഭവവികാസങ്ങൾ വർദ്ധിച്ചുവരുന്ന വലിയ മോഡലുകളിലേക്ക് നയിച്ചു, അവയിൽ ചിലതിന് നൂറുകണക്കിന് ബില്യൺ പരാമീറ്ററുകൾ ആവശ്യമാണ്. അവ കൂടുതൽ ശക്തമാണെങ്കിലും, ആ മോഡലുകളെക്കുറിച്ചുള്ള പരിശീലനത്തിനും അനുമാനത്തിനും കാര്യമായ കമ്പ്യൂട്ടേഷണൽ ഉറവിടങ്ങൾ ആവശ്യമാണ്. വിപുലമായ വിതരണ പരിശീലന ലൈബ്രറികൾ ലഭ്യമാണെങ്കിലും, പരിശീലനത്തിനും അനുമാന ജോലികൾക്കും നൂറുകണക്കിന് ആക്സിലറേറ്ററുകൾ (ജിപിയു അല്ലെങ്കിൽ ഉദ്ദേശ്യത്തോടെ നിർമ്മിച്ച ML ചിപ്പുകൾ പോലുള്ളവ) ആവശ്യമായി വരുന്നത് സാധാരണമാണ്. AWS ട്രെയിനിയം ഒപ്പം AWS ഇൻഫെറൻഷ്യ), അതിനാൽ പതിനായിരക്കണക്കിന് അല്ലെങ്കിൽ നൂറുകണക്കിന് സംഭവങ്ങൾ.

അത്തരം വിതരണം ചെയ്ത പരിതസ്ഥിതികളിൽ, രണ്ട് സംഭവങ്ങളുടെയും ML ചിപ്പുകളുടെയും നിരീക്ഷണക്ഷമത മോഡൽ പെർഫോമൻസ് ഫൈൻ-ട്യൂണിംഗിനും ചെലവ് ഒപ്റ്റിമൈസേഷനും പ്രധാനമാണ്. മെട്രിക്‌സ് ടീമുകളെ വർക്ക് ലോഡ് സ്വഭാവം മനസിലാക്കാനും റിസോഴ്‌സ് അലോക്കേഷനും ഉപയോഗവും ഒപ്റ്റിമൈസ് ചെയ്യാനും അപാകതകൾ കണ്ടെത്താനും മൊത്തത്തിലുള്ള ഇൻഫ്രാസ്ട്രക്ചർ കാര്യക്ഷമത വർദ്ധിപ്പിക്കാനും അനുവദിക്കുന്നു. ഡാറ്റാ സയൻ്റിസ്റ്റുകളെ സംബന്ധിച്ചിടത്തോളം, ശേഷി ആസൂത്രണത്തിന് ML ചിപ്പുകൾ ഉപയോഗവും സാച്ചുറേഷനും പ്രസക്തമാണ്.

ഈ പോസ്റ്റ് നിങ്ങളെ അതിലൂടെ നടത്തുന്നു AWS ഇൻഫെറൻഷ്യയ്ക്കുള്ള ഓപ്പൺ സോഴ്സ് ഒബ്സർവബിലിറ്റി പാറ്റേൺ, ഇതിൽ ഉപയോഗിക്കുന്ന ML ചിപ്പുകളുടെ പ്രകടനം എങ്ങനെ നിരീക്ഷിക്കാമെന്ന് കാണിക്കുന്നു ആമസോൺ ഇലാസ്റ്റിക് കുബേർനെറ്റ്സ് സേവനം (Amazon EKS) ക്ലസ്റ്റർ, ഡാറ്റാ പ്ലെയിൻ നോഡുകൾ അടിസ്ഥാനമാക്കിയുള്ളതാണ് ആമസോൺ ഇലാസ്റ്റിക് കമ്പ്യൂട്ട് ക്ലൗഡ് (Amazon EC2) തരത്തിൻ്റെ ഉദാഹരണങ്ങൾ Inf1 ഒപ്പം Inf2.

പാറ്റേൺ ഭാഗമാണ് AWS CDK ഒബ്സർവബിലിറ്റി ആക്സിലറേറ്റർ, ആമസോൺ EKS ക്ലസ്റ്ററുകൾക്കായി നിരീക്ഷണക്ഷമത സജ്ജമാക്കാൻ നിങ്ങളെ സഹായിക്കുന്നതിന് അഭിപ്രായമുള്ള മൊഡ്യൂളുകളുടെ ഒരു കൂട്ടം. AWS CDK ഒബ്സർവബിലിറ്റി ആക്സിലറേറ്റർ പാറ്റേണുകളെ ചുറ്റിപ്പറ്റിയാണ് ക്രമീകരിച്ചിരിക്കുന്നത്, അവ ഒന്നിലധികം വിഭവങ്ങൾ വിന്യസിക്കുന്നതിനുള്ള വീണ്ടും ഉപയോഗിക്കാവുന്ന യൂണിറ്റുകളാണ്. ഓപ്പൺ സോഴ്‌സ് ഒബ്സർബിലിറ്റി സെറ്റ് ഓഫ് പാറ്റേൺസ് ഇൻസ്ട്രുമെൻ്റുകൾ ഒബ്സർബിലിറ്റി ഉപയോഗിച്ച് ആമസോൺ ഗ്രാഫാനയെ നിയന്ത്രിച്ചു ഡാഷ്ബോർഡുകൾ, ഒരു ഓപ്പൺ ടെലിമെട്രിക്കുള്ള AWS ഡിസ്ട്രോ അളവുകൾ ശേഖരിക്കാൻ കളക്ടർ, ഒപ്പം പ്രൊമിത്യൂസിനായി ആമസോൺ നിയന്ത്രിത സേവനം അവ സൂക്ഷിക്കാൻ.

പരിഹാര അവലോകനം

ഇനിപ്പറയുന്ന വാക്യം പരിഹാര വാസ്തുവിദ്യയെ വ്യക്തമാക്കുന്നു.

ഈ പരിഹാരം Inf1 സംഭവങ്ങൾ ഉൾപ്പെടുന്ന ഒരു നോഡ് ഗ്രൂപ്പിനൊപ്പം ഒരു Amazon EKS ക്ലസ്റ്ററിനെ വിന്യസിക്കുന്നു.

നോഡ് ഗ്രൂപ്പിൻ്റെ AMI തരം AL2_x86_64_GPU, ഇത് ഉപയോഗിക്കുന്നു ആമസോൺ EKS ഒപ്റ്റിമൈസ് ചെയ്ത ത്വരിതപ്പെടുത്തിയ Amazon Linux AMI. സ്റ്റാൻഡേർഡ് ആമസോൺ ഇകെഎസ്-ഒപ്റ്റിമൈസ് ചെയ്ത എഎംഐ കോൺഫിഗറേഷന് പുറമേ, ത്വരിതപ്പെടുത്തിയ എഎംഐയിൽ ഇവ ഉൾപ്പെടുന്നു ന്യൂറോൺ എക്സ് റൺടൈം.

Kubernetes-ൽ നിന്ന് ML ചിപ്പുകൾ ആക്സസ് ചെയ്യുന്നതിന്, പാറ്റേൺ വിന്യസിക്കുന്നു AWS ന്യൂറോൺ ഉപകരണ പ്ലഗിൻ.

പ്രൊമിത്യൂസിനായുള്ള ആമസോൺ മാനേജ്ഡ് സേവനത്തിലേക്ക് മെട്രിക്കുകൾ തുറന്നുകാട്ടുന്നു neuron-monitor ഏറ്റവും കുറഞ്ഞ കണ്ടെയ്‌നർ വിന്യസിക്കുന്ന ഡെമോൺസെറ്റ് ന്യൂറോൺ ഉപകരണങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തു. പ്രത്യേകിച്ചും, ദി neuron-monitor ഡെമോൺസെറ്റ് പ്രവർത്തിപ്പിക്കുന്നു neuron-monitor കമാൻഡ് പൈപ്പിലേക്ക് കടന്നു neuron-monitor-prometheus.py കമ്പാനിയൻ സ്ക്രിപ്റ്റ് (രണ്ട് കമാൻഡുകളും കണ്ടെയ്നറിൻ്റെ ഭാഗമാണ്):

neuron-monitor | neuron-monitor-prometheus.py --port <port>

കമാൻഡ് ഇനിപ്പറയുന്ന ഘടകങ്ങൾ ഉപയോഗിക്കുന്നു:

  • neuron-monitor സിസ്റ്റത്തിൽ പ്രവർത്തിക്കുന്ന ന്യൂറോൺ ആപ്ലിക്കേഷനുകളിൽ നിന്ന് അളവുകളും സ്ഥിതിവിവരക്കണക്കുകളും ശേഖരിക്കുകയും ശേഖരിച്ച ഡാറ്റ stdout-ലേക്ക് സ്ട്രീം ചെയ്യുകയും ചെയ്യുന്നു JSON ഫോർമാറ്റ്
  • neuron-monitor-prometheus.py JSON ഫോർമാറ്റിൽ നിന്ന് പ്രോമിത്യൂസിന് അനുയോജ്യമായ ഫോർമാറ്റിലേക്ക് ടെലിമെട്രി ഡാറ്റ മാപ്പ് ചെയ്യുകയും വെളിപ്പെടുത്തുകയും ചെയ്യുന്നു

ആമസോൺ മാനേജുചെയ്ത ഗ്രാഫാനയിൽ ബന്ധപ്പെട്ട ഡാഷ്‌ബോർഡ് ഉപയോഗിച്ച് ഡാറ്റ ദൃശ്യവൽക്കരിക്കുന്നു.

പ്രൊമിത്യൂസിനും ആമസോൺ മാനേജുചെയ്ത ഗ്രാഫാനയ്ക്കുമുള്ള ആമസോൺ മാനേജുചെയ്ത സേവനം ഉപയോഗിച്ച് മെട്രിക്‌സ് ശേഖരിക്കുന്നതിനും ദൃശ്യവൽക്കരിക്കുന്നതിനുമുള്ള ബാക്കി സജ്ജീകരണം മറ്റ് ഓപ്പൺ സോഴ്‌സ് അധിഷ്‌ഠിത പാറ്റേണുകളിൽ ഉപയോഗിച്ചതിന് സമാനമാണ്. AWS Observability Accelerator for CDK GitHub ശേഖരം.

മുൻവ്യവസ്ഥകൾ

ഈ പോസ്റ്റിലെ ഘട്ടങ്ങൾ പൂർത്തിയാക്കാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ ആവശ്യമാണ്:

പരിസ്ഥിതി സജ്ജമാക്കുക

നിങ്ങളുടെ പരിസ്ഥിതി സജ്ജീകരിക്കുന്നതിന് ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ പൂർത്തിയാക്കുക:

  1. ഒരു ടെർമിനൽ വിൻഡോ തുറന്ന് ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:
export AWS_REGION=<YOUR AWS REGION>
export ACCOUNT_ID=$(aws sts get-caller-identity --query 'Account' --output text)

  1. നിലവിലുള്ള ഏതെങ്കിലും ആമസോൺ നിയന്ത്രിക്കുന്ന ഗ്രാഫാന വർക്ക്‌സ്‌പെയ്‌സിൻ്റെ വർക്ക്‌സ്‌പെയ്‌സ് ഐഡികൾ വീണ്ടെടുക്കുക:
aws grafana list-workspaces

ഞങ്ങളുടെ സാമ്പിൾ ഔട്ട്പുട്ട് ഇതാണ്:

{
  "workspaces": [
    {
      "authentication": {
        "providers": [
          "AWS_SSO"
        ]
      },
      "created": "2023-06-07T12:23:56.625000-04:00",
      "description": "accelerator-workspace",
      "endpoint": "g-XYZ.grafana-workspace.us-east-2.amazonaws.com",
      "grafanaVersion": "9.4",
      "id": "g-XYZ",
      "modified": "2023-06-07T12:30:09.892000-04:00",
      "name": "accelerator-workspace",
      "notificationDestinations": [
        "SNS"
      ],
      "status": "ACTIVE",
      "tags": {}
    }
  ]
}

  1. മൂല്യങ്ങൾ നിയോഗിക്കുക id ഒപ്പം endpoint ഇനിപ്പറയുന്ന പരിസ്ഥിതി വേരിയബിളുകളിലേക്ക്:
export COA_AMG_WORKSPACE_ID="<<YOUR-WORKSPACE-ID, similar to the above g-XYZ, without quotation marks>>"
export COA_AMG_ENDPOINT_URL="<<https://YOUR-WORKSPACE-URL, including protocol (i.e. https://), without quotation marks, similar to the above https://g-XYZ.grafana-workspace.us-east-2.amazonaws.com>>"

COA_AMG_ENDPOINT_URL ഉൾപ്പെടുത്തേണ്ടതുണ്ട് https://.

  1. ആമസോൺ നിയന്ത്രിത ഗ്രാഫാന വർക്ക്‌സ്‌പെയ്‌സിൽ നിന്ന് ഒരു ഗ്രാഫാന API കീ സൃഷ്‌ടിക്കുക:
export AMG_API_KEY=$(aws grafana create-workspace-api-key 
--key-name "grafana-operator-key" 
--key-role "ADMIN" 
--seconds-to-live 432000 
--workspace-id $COA_AMG_WORKSPACE_ID 
--query key 
--output text)

  1. ഒരു രഹസ്യം സ്ഥാപിക്കുക AWS സിസ്റ്റംസ് മാനേജർ:
aws ssm put-parameter --name "/cdk-accelerator/grafana-api-key" 
--type "SecureString" 
--value $AMG_API_KEY 
--region $AWS_REGION

എക്‌സ്‌റ്റേണൽ സീക്രട്ട്‌സ് ആഡ്-ഓൺ മുഖേന രഹസ്യം ആക്‌സസ് ചെയ്യുകയും ഇകെഎസ് ക്ലസ്റ്ററിൽ നേറ്റീവ് കുബർനെറ്റസ് രഹസ്യമായി ലഭ്യമാക്കുകയും ചെയ്യും.

AWS CDK പരിതസ്ഥിതി ബൂട്ട്സ്ട്രാപ്പ് ചെയ്യുക

ഏതൊരു AWS CDK വിന്യാസത്തിലേക്കുള്ള ആദ്യപടി പരിസ്ഥിതിയെ ബൂട്ട്‌സ്ട്രാപ്പുചെയ്യുക എന്നതാണ്. നിങ്ങൾ ഉപയോഗിക്കുക cdk bootstrap ആ പരിതസ്ഥിതിയിലേക്ക് വിന്യാസം നടത്താൻ AWS CDK-ന് ആവശ്യമായ വിഭവങ്ങൾ ഉപയോഗിച്ച് പരിസ്ഥിതി (AWS അക്കൗണ്ടിൻ്റെയും AWS മേഖലയുടെയും സംയോജനം) തയ്യാറാക്കാൻ AWS CDK CLI-ൽ കമാൻഡ് ചെയ്യുക. ഓരോ അക്കൗണ്ടിനും റീജിയൻ കോമ്പിനേഷനും AWS CDK ബൂട്ട്‌സ്‌ട്രാപ്പിംഗ് ആവശ്യമാണ്, അതിനാൽ നിങ്ങൾ ഇതിനകം ഒരു മേഖലയിൽ AWS CDK ബൂട്ട്‌സ്ട്രാപ്പ് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾ ബൂട്ട്‌സ്‌ട്രാപ്പിംഗ് പ്രക്രിയ ആവർത്തിക്കേണ്ടതില്ല.

cdk bootstrap aws://$ACCOUNT_ID/$AWS_REGION

പരിഹാരം വിന്യസിക്കുക

പരിഹാരം വിന്യസിക്കാൻ ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ പൂർത്തിയാക്കുക:

  1. ക്ലോൺ ചെയ്യുക cdk-aws-observability-accelerator റിപ്പോസിറ്ററി, ഡിപൻഡൻസി പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക. ഈ ശേഖരത്തിൽ ടൈപ്പ്സ്ക്രിപ്റ്റിൽ എഴുതിയ AWS CDK v2 കോഡ് അടങ്ങിയിരിക്കുന്നു.
git clone https://github.com/aws-observability/cdk-aws-observability-accelerator.git
cd cdk-aws-observability-accelerator

ഗ്രാഫാന ഡാഷ്‌ബോർഡ് JSON ഫയലുകൾക്കായുള്ള യഥാർത്ഥ ക്രമീകരണങ്ങൾ AWS CDK സന്ദർഭത്തിൽ വ്യക്തമാക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു. നിങ്ങൾ അപ്ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട് context ലെ cdk.json ഫയൽ, നിലവിലെ ഡയറക്ടറിയിൽ സ്ഥിതിചെയ്യുന്നു. ഡാഷ്‌ബോർഡിൻ്റെ സ്ഥാനം വ്യക്തമാക്കുന്നത് fluxRepository.values.GRAFANA_NEURON_DASH_URL പരാമീറ്റർ, ഒപ്പം neuronNodeGroup ഉദാഹരണ തരം, നമ്പർ, കൂടാതെ എന്നിവ സജ്ജീകരിക്കാൻ ഉപയോഗിക്കുന്നു ആമസോൺ ഇലാസ്റ്റിക് ബ്ലോക്ക് സ്റ്റോർ (Amazon EBS) വലിപ്പം നോഡുകൾക്കായി ഉപയോഗിക്കുന്നു.

  1. ഇനിപ്പറയുന്ന സ്‌നിപ്പെറ്റ് നൽകുക cdk.json, മാറ്റിസ്ഥാപിക്കുന്നു context:
"context": {
    "fluxRepository": {
      "name": "grafana-dashboards",
      "namespace": "grafana-operator",
      "repository": {
        "repoUrl": "https://github.com/aws-observability/aws-observability-accelerator",
        "name": "grafana-dashboards",
        "targetRevision": "main",
        "path": "./artifacts/grafana-operator-manifests/eks/infrastructure"
      },
      "values": {
        "GRAFANA_CLUSTER_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/cluster.json",
        "GRAFANA_KUBELET_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/kubelet.json",
        "GRAFANA_NSWRKLDS_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/namespace-workloads.json",
        "GRAFANA_NODEEXP_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/nodeexporter-nodes.json",
        "GRAFANA_NODES_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/nodes.json",
        "GRAFANA_WORKLOADS_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/infrastructure/workloads.json",
        "GRAFANA_NEURON_DASH_URL" : "https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/grafana-dashboards/eks/neuron/neuron-monitor.json"
      },
      "kustomizations": [
        {
          "kustomizationPath": "./artifacts/grafana-operator-manifests/eks/infrastructure"
        },
        {
          "kustomizationPath": "./artifacts/grafana-operator-manifests/eks/neuron"
        }
      ]
    },
     "neuronNodeGroup": {
      "instanceClass": "inf1",
      "instanceSize": "2xlarge",
      "desiredSize": 1, 
      "minSize": 1, 
      "maxSize": 3,
      "ebsSize": 512
    }
  }

നിങ്ങൾക്ക് Inf1 ഇൻസ്‌റ്റൻസ് തരം മാറ്റി Inf2 ഉപയോഗിച്ച് ആവശ്യാനുസരണം വലുപ്പം മാറ്റാം. നിങ്ങൾ തിരഞ്ഞെടുത്ത മേഖലയിൽ ലഭ്യത പരിശോധിക്കുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക (ഭേദഗതി Values നിങ്ങൾക്ക് അനുയോജ്യമെന്ന് തോന്നുന്നതുപോലെ):

aws ec2 describe-instance-type-offerings 
--filters Name=instance-type,Values="inf1*" 
--query "InstanceTypeOfferings[].InstanceType" 
--region $AWS_REGION

  1. പ്രോജക്റ്റ് ഡിപൻഡൻസികൾ ഇൻസ്റ്റാൾ ചെയ്യുക:
npm install

  1. ഓപ്പൺ സോഴ്‌സ് ഒബ്സർബിലിറ്റി പാറ്റേൺ വിന്യസിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:
make build
make pattern single-new-eks-inferentia-opensource-observability deploy

പരിഹാരം സാധൂകരിക്കുക

പരിഹാരം സാധൂകരിക്കുന്നതിന് ഇനിപ്പറയുന്ന ഘട്ടങ്ങൾ പൂർത്തിയാക്കുക:

  1. പ്രവർത്തിപ്പിക്കുക update-kubeconfig കമാൻഡ്. മുമ്പത്തെ കമാൻഡിൻ്റെ ഔട്ട്പുട്ട് സന്ദേശത്തിൽ നിന്ന് നിങ്ങൾക്ക് കമാൻഡ് ലഭിക്കണം:
aws eks update-kubeconfig --name single-new-eks-inferentia-opensource... --region <your region> --role-arn arn:aws:iam::xxxxxxxxx:role/single-new-eks-....

  1. നിങ്ങൾ സൃഷ്ടിച്ച ഉറവിടങ്ങൾ പരിശോധിക്കുക:
kubectl get pods -A

ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ട് ഞങ്ങളുടെ സാമ്പിൾ ഔട്ട്പുട്ട് കാണിക്കുന്നു.

  1. ഉറപ്പാക്കുക neuron-device-plugin-daemonset DaemonSet പ്രവർത്തിക്കുന്നു:
kubectl get ds neuron-device-plugin-daemonset --namespace kube-system

ഞങ്ങൾ പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് ഇതാണ്:

NAME                             DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
neuron-device-plugin-daemonset   1         1         1       1            1           <none>          2h

  1. അത് സ്ഥിരീകരിക്കുക neuron-monitor DaemonSet പ്രവർത്തിക്കുന്നു:
kubectl get ds neuron-monitor --namespace kube-system

ഞങ്ങൾ പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് ഇതാണ്:

NAME             DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
neuron-monitor   1         1         1       1            1           <none>          2h

  1. ന്യൂറോൺ ഉപകരണങ്ങളും കോറുകളും ദൃശ്യമാണോയെന്ന് പരിശോധിക്കാൻ, പ്രവർത്തിപ്പിക്കുക neuron-ls ഒപ്പം neuron-top ഉദാഹരണത്തിന്, നിങ്ങളുടെ ന്യൂറോൺ-മോണിറ്റർ പോഡിൽ നിന്നുള്ള കമാൻഡുകൾ (ഇതിൻ്റെ ഔട്ട്പുട്ടിൽ നിന്ന് നിങ്ങൾക്ക് പോഡിൻ്റെ പേര് ലഭിക്കും kubectl get pods -A):
kubectl exec -it {your neuron-monitor pod} -n kube-system -- /bin/bash -c "neuron-ls"

ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ട് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് കാണിക്കുന്നു.

kubectl exec -it {your neuron-monitor pod} -n kube-system -- /bin/bash -c "neuron-top"

ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ട് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് കാണിക്കുന്നു.

ഗ്രാഫാന ന്യൂറോൺ ഡാഷ്‌ബോർഡ് ഉപയോഗിച്ച് ഡാറ്റ ദൃശ്യവൽക്കരിക്കുക

നിങ്ങളുടെ ആമസോൺ നിയന്ത്രിത ഗ്രാഫാന വർക്ക്‌സ്‌പെയ്‌സിൽ ലോഗിൻ ചെയ്‌ത് ഇതിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക ഡാഷ്ബോർഡുകൾ പാനൽ. എന്ന പേരിലുള്ള ഒരു ഡാഷ്‌ബോർഡ് നിങ്ങൾ കാണണം ന്യൂറോൺ / മോണിറ്റർ.

ഗ്രാഫാന ഡാഷ്‌ബോർഡിൽ രസകരമായ ചില മെട്രിക്കുകൾ കാണുന്നതിന്, ഞങ്ങൾ ഇനിപ്പറയുന്ന മാനിഫെസ്റ്റ് പ്രയോഗിക്കുന്നു:

curl https://raw.githubusercontent.com/aws-observability/aws-observability-accelerator/main/artifacts/k8s-deployment-manifest-templates/neuron/pytorch-inference-resnet50.yml | kubectl apply -f -

ഇത് സമാഹരിക്കുന്ന ഒരു സാമ്പിൾ വർക്ക്ലോഡാണ് ടോർച്ച്വിഷൻ ResNet50 മോഡൽ ടെലിമെട്രി ഡാറ്റ സൃഷ്‌ടിക്കാൻ ഒരു ലൂപ്പിൽ ആവർത്തിച്ചുള്ള അനുമാനം പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു.

പോഡ് വിജയകരമായി വിന്യസിച്ചുവെന്ന് സ്ഥിരീകരിക്കാൻ, ഇനിപ്പറയുന്ന കോഡ് പ്രവർത്തിപ്പിക്കുക:

kubectl get pods

പേരുള്ള ഒരു പോഡ് നിങ്ങൾ കാണണം pytorch-inference-resnet50.

കുറച്ച് മിനിറ്റുകൾക്ക് ശേഷം, ഉള്ളിലേക്ക് നോക്കുന്നു ന്യൂറോൺ / മോണിറ്റർ ഡാഷ്ബോർഡിൽ, ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടുകൾക്ക് സമാനമായി നിങ്ങൾ ശേഖരിച്ച മെട്രിക്സ് കാണും.

Git-മായി നിങ്ങളുടെ ഡാഷ്‌ബോർഡുകൾ സമന്വയിപ്പിക്കുന്നതിന് ഗ്രാഫാന ഓപ്പറേറ്ററും ഫ്ലക്സും എപ്പോഴും ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു. നിങ്ങളുടെ ഡാഷ്‌ബോർഡുകൾ ആകസ്‌മികമായി ഇല്ലാതാക്കുകയാണെങ്കിൽ, അവ സ്വയമേവ വീണ്ടും നൽകപ്പെടും.

ക്ലീനപ്പ്

ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് മുഴുവൻ AWS CDK സ്റ്റാക്കും ഇല്ലാതാക്കാൻ കഴിയും:

make pattern single-new-eks-inferentia-opensource-observability destroy

തീരുമാനം

ഈ പോസ്റ്റിൽ, EC2 Inf1 സംഭവങ്ങളിൽ പ്രവർത്തിക്കുന്ന ഒരു ഡാറ്റാ പ്ലെയിൻ ഫീച്ചർ ചെയ്യുന്ന ഒരു EKS ക്ലസ്റ്ററിലേക്ക് ഓപ്പൺ സോഴ്‌സ് ടൂളിംഗ് ഉപയോഗിച്ച് നിരീക്ഷണക്ഷമത എങ്ങനെ അവതരിപ്പിക്കാമെന്ന് ഞങ്ങൾ കാണിച്ചുതന്നു. AWS ഇൻഫെറൻഷ്യയിലേക്കും ട്രെയിനിയം ന്യൂറോൺ ഉപകരണങ്ങളിലേക്കും ആക്‌സസ് നൽകുന്ന ന്യൂറോൺ കണ്ടെയ്‌നർ റൺടൈം ഉൾപ്പെടുന്ന ഡാറ്റാ പ്ലെയിൻ നോഡുകൾക്കായി Amazon EKS-ഒപ്റ്റിമൈസ് ചെയ്‌ത ത്വരിതപ്പെടുത്തിയ AMI തിരഞ്ഞെടുത്ത് ഞങ്ങൾ ആരംഭിച്ചു. തുടർന്ന്, ന്യൂറോൺ കോറുകളും ഉപകരണങ്ങളും കുബർനെറ്റസിലേക്ക് തുറന്നുകാട്ടാൻ, ഞങ്ങൾ ന്യൂറോൺ ഉപകരണ പ്ലഗിൻ വിന്യസിച്ചു. പ്രോമിത്യൂസിന് അനുയോജ്യമായ ഫോർമാറ്റിലേക്ക് ടെലിമെട്രി ഡാറ്റയുടെ യഥാർത്ഥ ശേഖരണവും മാപ്പിംഗും നേടിയത് ഇതിലൂടെയാണ് neuron-monitor ഒപ്പം neuron-monitor-prometheus.py. പ്രോമിത്യൂസിനായുള്ള ആമസോൺ മാനേജുചെയ്ത സേവനത്തിൽ നിന്ന് മെട്രിക്‌സ് സ്രോതസ്സുചെയ്‌ത് ആമസോൺ മാനേജുചെയ്ത ഗ്രാഫാനയുടെ ന്യൂറോൺ ഡാഷ്‌ബോർഡിൽ പ്രദർശിപ്പിച്ചു.

നിങ്ങൾ കൂടുതൽ നിരീക്ഷണ പാറ്റേണുകൾ പര്യവേക്ഷണം ചെയ്യാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു സിഡികെയ്‌ക്കായുള്ള AWS ഒബ്സർവബിലിറ്റി ആക്സിലറേറ്റർ GitHub റിപ്പോ. ന്യൂറോണിനെക്കുറിച്ച് കൂടുതലറിയാൻ, കാണുക AWS ന്യൂറോൺ ഡോക്യുമെന്റേഷൻ.


എഴുത്തുകാരനെ കുറിച്ച്

റിക്കാർഡോ ഫ്രെഷി AWS-ലെ സീനിയർ സൊല്യൂഷൻസ് ആർക്കിടെക്റ്റാണ്, ആപ്ലിക്കേഷൻ നവീകരണത്തിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. നിലവിലുള്ള ആപ്ലിക്കേഷനുകൾ റീഫാക്‌ടർ ചെയ്‌ത് പുതിയവ സൃഷ്‌ടിക്കുന്നതിലൂടെ AWS ക്ലൗഡിലേക്കുള്ള അവരുടെ യാത്രയിൽ അവരുടെ ഐടി ലാൻഡ്‌സ്‌കേപ്പുകൾ രൂപാന്തരപ്പെടുത്താൻ സഹായിക്കുന്നതിന് പങ്കാളികളുമായും ഉപഭോക്താക്കളുമായും അദ്ദേഹം അടുത്ത് പ്രവർത്തിക്കുന്നു.

സ്പോട്ട്_ഐഎംജി

ഏറ്റവും പുതിയ ഇന്റലിജൻസ്

സ്പോട്ട്_ഐഎംജി

ഞങ്ങളുമായി ചാറ്റുചെയ്യുക

ഹേയ്, അവിടെയുണ്ടോ! എനിക്ക് നിങ്ങളെ എങ്ങനെ സഹായിക്കാനാകും?