<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Architect Alick</title>
    <description>The latest articles on DEV Community by Architect Alick (@architectalick).</description>
    <link>https://dev.to/architectalick</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3600311%2F61bfd800-5214-4bbd-ba2a-fc24791ec39c.jpg</url>
      <title>DEV Community: Architect Alick</title>
      <link>https://dev.to/architectalick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/architectalick"/>
    <language>en</language>
    <item>
      <title>Setting Up NVIDIA Parakeet TDT 0.6B v3 for Speech Recognition on AWS EC2 Ubuntu</title>
      <dc:creator>Architect Alick</dc:creator>
      <pubDate>Thu, 13 Nov 2025 23:31:37 +0000</pubDate>
      <link>https://dev.to/architectalick/setting-up-nvidia-parakeet-tdt-06b-v3-for-speech-recognition-on-aws-ec2-ubuntu-1e9b</link>
      <guid>https://dev.to/architectalick/setting-up-nvidia-parakeet-tdt-06b-v3-for-speech-recognition-on-aws-ec2-ubuntu-1e9b</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;NVIDIA's Parakeet TDT 0.6B v3 is a state-of-the-art automatic speech recognition (ASR) model that delivers exceptional accuracy for English transcription. With 600 million parameters, this model combines the FastConformer architecture with the Token-and-Duration Transducer (TDT) decoder to provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatic punctuation and capitalization&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Word-level timestamp predictions&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Processing of audio segments up to 24 minutes&lt;/strong&gt; in a single pass&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Impressive speed&lt;/strong&gt;: RTFx of 3380 on the HF-Open-ASR leaderboard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This guide walks you through setting up Parakeet TDT 0.6B v3 on an AWS EC2 Ubuntu instance, similar to how you would deploy Whisper, but optimized for NVIDIA's cutting-edge ASR technology.&lt;/p&gt;

&lt;h1&gt;
  
  
  Choosing the Right EC2 Instance
&lt;/h1&gt;

&lt;p&gt;For running Parakeet TDT 0.6B v3, you need an EC2 instance with NVIDIA GPU support. Here are your options:&lt;/p&gt;

&lt;h2&gt;
  
  
  Recommended Instance Types
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;g6.2xlarge&lt;/strong&gt; (Recommended)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GPU&lt;/strong&gt;: 1x NVIDIA L4 with 24 GB memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vCPUs&lt;/strong&gt;: 8&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM&lt;/strong&gt;: 32 GiB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: 2x better for deep learning inference compared to g4dn instances&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost&lt;/strong&gt;: ~$0.98/hour (us-east-1)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for&lt;/strong&gt;: Production workloads with modern GPU architecture&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;g4dn.xlarge&lt;/strong&gt; (Budget Option)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GPU&lt;/strong&gt;: 1x NVIDIA T4 with 16 GB memory&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vCPUs&lt;/strong&gt;: 4&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAM&lt;/strong&gt;: 16 GiB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost&lt;/strong&gt;: Lower cost entry point&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for&lt;/strong&gt;: Development and testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hardware Requirements&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Minimum 2GB RAM for model loading&lt;/li&gt;
&lt;li&gt;Supports NVIDIA Volta, Ampere, Hopper, and Blackwell architectures&lt;/li&gt;
&lt;li&gt;At least 30-40 GB disk space&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 1: Launch EC2 Instance on AWS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.1 Create the EC2 Instance
&lt;/h3&gt;

&lt;p&gt;The g6.2xlarge instance is one of the most cost-effective options for running speech recognition models on AWS. Follow these steps to launch your instance:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step-by-step launch process:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;AWS Console&lt;/strong&gt; and navigate to the &lt;strong&gt;EC2 Dashboard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;"Launch instance"&lt;/strong&gt; button in the top section&lt;/li&gt;
&lt;li&gt;Enter an instance name (e.g., "parakeet-asr-instance")&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Application and OS Images (Amazon Machine Image)&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Search for "Ubuntu"&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Ubuntu Server 22.04 LTS&lt;/strong&gt; (or Ubuntu 24.04 LTS for newer releases)&lt;/li&gt;
&lt;li&gt;Verify the AMI is marked as "Free tier eligible" if applicable&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Instance type&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Search for or select &lt;strong&gt;g6.2xlarge&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;This instance provides 1x NVIDIA L4 GPU with 24GB memory, 8 vCPUs, and 32 GiB RAM&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Key pair (login)&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Select an existing key pair or create a new one&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Important&lt;/strong&gt;: Download and securely save the &lt;code&gt;.pem&lt;/code&gt; file if creating a new key pair&lt;/li&gt;
&lt;li&gt;This key is required for SSH access&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Network settings&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Leave default VPC settings&lt;/li&gt;
&lt;li&gt;Allow SSH traffic from your IP address (or 0.0.0.0/0 for development, but restrict in production)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Storage (Root volume)&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Expand the storage configuration&lt;/li&gt;
&lt;li&gt;Change the &lt;strong&gt;EBS Volume size from 100 GB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Keep the volume type as &lt;strong&gt;gp3 (General Purpose SSD)&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Leave all other settings at their default values&lt;/li&gt;
&lt;li&gt;Review your configuration and click &lt;strong&gt;"Launch instance"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1.2 Monitor Instance Launch
&lt;/h3&gt;

&lt;p&gt;After clicking "Launch instance":&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You'll see a confirmation page with your &lt;strong&gt;Instance ID&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click on your instance ID to view the instance details page&lt;/li&gt;
&lt;li&gt;Wait 1-2 minutes for the instance to reach the "Running" state&lt;/li&gt;
&lt;li&gt;Once running, note the &lt;strong&gt;Public IPv4 address&lt;/strong&gt; displayed on the instance page&lt;/li&gt;
&lt;li&gt;The instance will automatically assign an elastic IP; this is your connection address&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  1.3 Connect to Your Instance via SSH
&lt;/h3&gt;

&lt;p&gt;Once the instance is running, connect using SSH:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Use the following command (replace the path and DNS/IP accordingly)&lt;/span&gt;
ssh &lt;span class="nt"&gt;-i&lt;/span&gt; /path/to/your-key.pem ubuntu@your-instance-public-dns
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-i&lt;/span&gt; ~/Downloads/my-parakeet-key.pem ubuntu@ec2-54-123-45-67.compute-1.amazonaws.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or using the public IPv4 address:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh &lt;span class="nt"&gt;-i&lt;/span&gt; ~/Downloads/my-parakeet-key.pem ubuntu@54.123.45.67
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Expected output on first connection:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;The authenticity of host '...' can't be established.
ECDSA key fingerprint is ...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type &lt;code&gt;yes&lt;/code&gt; and press Enter to add the host to your known hosts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Success indicator:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ubuntu@ip-xxx-xxx-xxx-xxx:~$
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see this prompt, your SSH connection is successful! Your EC2 instance is ready for software installation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 2: Assign IAM Role to EC2 Instance
&lt;/h2&gt;

&lt;p&gt;To allow your EC2 instance to access AWS S3 buckets (for storing audio files and transcription results), you need to assign an IAM role. This is more secure than using hardcoded AWS credentials.&lt;/p&gt;

&lt;h3&gt;
  
  
  2.1 Create an IAM Role
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Create the role:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;AWS IAM Console&lt;/strong&gt; (&lt;a href="https://console.aws.amazon.com/iam/" rel="noopener noreferrer"&gt;https://console.aws.amazon.com/iam/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;In the left sidebar, click &lt;strong&gt;"Roles"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;"Create role"&lt;/strong&gt; button&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;"Trusted entity type"&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Select &lt;strong&gt;"AWS Service"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;"Service or use case"&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Search for and select &lt;strong&gt;"EC2"&lt;/strong&gt; from the list&lt;/li&gt;
&lt;li&gt;This allows EC2 instances to use this role&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Next"&lt;/strong&gt; to proceed to permissions&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;"Permissions policies"&lt;/strong&gt; section:

&lt;ul&gt;
&lt;li&gt;Search for "S3"&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;"AmazonS3FullAccess"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Note&lt;/strong&gt;: For production environments, create a custom policy that restricts access to specific S3 buckets and operations instead of granting full S3 access&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Next"&lt;/strong&gt; to review&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;"Role name"&lt;/strong&gt; field, enter a descriptive name:

&lt;ul&gt;
&lt;li&gt;Example: &lt;code&gt;asr-ec2-role&lt;/code&gt; or &lt;code&gt;parakeet-s3-access-role&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Optionally add a description: "Role for EC2 instance to access S3 for ASR audio files"&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Create role"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  2.2 Attach the Role to Your EC2 Instance
&lt;/h3&gt;

&lt;p&gt;Now attach this role to your running EC2 instance:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go back to the &lt;strong&gt;EC2 Dashboard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Instances"&lt;/strong&gt; in the left sidebar&lt;/li&gt;
&lt;li&gt;Find and click on your instance (the g6.2xlarge instance you just created)&lt;/li&gt;
&lt;li&gt;You'll see the instance details page&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;"Actions"&lt;/strong&gt; button (top-right corner)&lt;/li&gt;
&lt;li&gt;Hover over &lt;strong&gt;"Security"&lt;/strong&gt; in the dropdown menu&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Modify IAM role"&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;In the dropdown menu that appears:

&lt;ul&gt;
&lt;li&gt;Select the role you just created (e.g., &lt;code&gt;asr-ec2-role&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;"Update IAM role"&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Verification:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Refresh the instance details page&lt;/li&gt;
&lt;li&gt;Scroll to the &lt;strong&gt;"Details"&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;Look for the &lt;strong&gt;"IAM instance profile"&lt;/strong&gt; field&lt;/li&gt;
&lt;li&gt;You should see your role name displayed there&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your EC2 instance can now access S3 without requiring explicit AWS credentials!&lt;/p&gt;

&lt;h3&gt;
  
  
  2.3 Verify IAM Role Access (Optional)
&lt;/h3&gt;

&lt;p&gt;To confirm the role is working correctly, you can test S3 access from your instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Connect to your instance via SSH (if not already connected)&lt;/span&gt;
ssh &lt;span class="nt"&gt;-i&lt;/span&gt; your-key.pem ubuntu@your-instance-public-dns

&lt;span class="c"&gt;# Test listing S3 buckets&lt;/span&gt;
aws s3 &lt;span class="nb"&gt;ls&lt;/span&gt;

&lt;span class="c"&gt;# Example output (your actual buckets will be listed):&lt;/span&gt;
&lt;span class="c"&gt;# 2025-11-02 12:34:56 my-asr-audio-files&lt;/span&gt;
&lt;span class="c"&gt;# 2025-11-02 12:35:12 my-transcription-results&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see your S3 buckets listed, the IAM role is properly configured!&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: System Update and Basic Dependencies
&lt;/h2&gt;

&lt;p&gt;Once connected to your EC2 instance via SSH, start with system updates:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Update package lists&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update

&lt;span class="c"&gt;# Install Python pip and basic tools&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;python3-pip &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: Install NVIDIA Drivers and CUDA Toolkit
&lt;/h2&gt;

&lt;h3&gt;
  
  
  4.1 Install NVIDIA Driver
&lt;/h3&gt;

&lt;p&gt;For Ubuntu, install the appropriate NVIDIA driver version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install NVIDIA driver (version 525 or later)&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;nvidia-driver-525 &lt;span class="nt"&gt;-y&lt;/span&gt;

&lt;span class="c"&gt;# Reboot the system to load the driver&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After reboot, reconnect to your instance and verify the driver installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nvidia-smi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should see output showing your GPU (NVIDIA L4 for g6 or T4 for g4dn instances).&lt;/p&gt;

&lt;h3&gt;
  
  
  4.2 Install CUDA Toolkit
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install NVIDIA CUDA toolkit&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;nvidia-cuda-toolkit &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4.3 Install FFmpeg
&lt;/h3&gt;

&lt;p&gt;FFmpeg is required for audio processing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;ffmpeg &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ffmpeg &lt;span class="nt"&gt;-version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 5: Set Up Python Environment with Miniconda
&lt;/h2&gt;

&lt;p&gt;Using Conda helps manage dependencies and avoid conflicts.&lt;/p&gt;

&lt;h3&gt;
  
  
  5.1 Download and Install Miniconda
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Download Miniconda installer&lt;/span&gt;
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

&lt;span class="c"&gt;# Run the installer&lt;/span&gt;
bash Miniconda3-latest-Linux-x86_64.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Follow the prompts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Press ENTER to review the license&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;yes&lt;/code&gt; to accept&lt;/li&gt;
&lt;li&gt;Press ENTER to confirm the installation location&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;yes&lt;/code&gt; when asked to initialize Miniconda3&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5.2 Initialize Conda
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Initialize conda for bash&lt;/span&gt;
/home/ubuntu/miniconda3/bin/conda init

&lt;span class="c"&gt;# Reload your shell configuration&lt;/span&gt;
&lt;span class="nb"&gt;source&lt;/span&gt; ~/.bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5.3 Accept Conda Terms of Service
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Accept TOS for main channel&lt;/span&gt;
conda config &lt;span class="nt"&gt;--set&lt;/span&gt; channel_priority strict
conda config &lt;span class="nt"&gt;--add&lt;/span&gt; channels conda-forge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 6: Create and Configure Conda Environment
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6.1 Create New Environment
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create conda environment with Python 3.11&lt;/span&gt;
conda create &lt;span class="nt"&gt;-n&lt;/span&gt; parakeet_env &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3.11 &lt;span class="nt"&gt;-y&lt;/span&gt;

&lt;span class="c"&gt;# Activate the environment&lt;/span&gt;
conda activate parakeet_env
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  6.2 Install GCC Libraries (Important)
&lt;/h3&gt;

&lt;p&gt;Some dependencies require updated GCC libraries:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install GCC libraries via conda&lt;/span&gt;
conda &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-c&lt;/span&gt; conda-forge libgcc-ng libstdcxx-ng &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 7: Install PyTorch and NeMo Toolkit
&lt;/h2&gt;

&lt;h3&gt;
  
  
  7.1 Install PyTorch
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install PyTorch with CUDA support&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;torch torchvision torchaudio &lt;span class="nt"&gt;--index-url&lt;/span&gt; https://download.pytorch.org/whl/cu118
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7.2 Install Core Dependencies
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install numpy and other core dependencies&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;numpy packaging Cython
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7.3 Install NeMo Toolkit with ASR Support
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install NeMo toolkit with ASR (Automatic Speech Recognition) support&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;nemo_toolkit[&lt;span class="s1"&gt;'asr'&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This installation includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NeMo core framework&lt;/li&gt;
&lt;li&gt;ASR-specific modules&lt;/li&gt;
&lt;li&gt;FastConformer and TDT decoder components&lt;/li&gt;
&lt;li&gt;All necessary dependencies for Parakeet models&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 8: Verify Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  8.1 Check GPU Access
&lt;/h3&gt;

&lt;p&gt;Create a test script to verify PyTorch can access the GPU:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;EOF&lt;/span&gt;&lt;span class="sh"&gt;
import torch
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")
if torch.cuda.is_available():
    print(f"GPU device: {torch.cuda.get_device_name(0)}")
    print(f"GPU memory: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.2f} GB")
&lt;/span&gt;&lt;span class="no"&gt;EOF
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PyTorch version: 2.x.x
CUDA available: True
CUDA version: 11.8
GPU device: NVIDIA L4 (or NVIDIA T4)
GPU memory: 22.35 GB (or 16.00 GB)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8.2 Verify NeMo Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="no"&gt;EOF&lt;/span&gt;&lt;span class="sh"&gt;
import nemo
import nemo.collections.asr as nemo_asr
print(f"NeMo version: {nemo.__version__}")
print("NeMo ASR module loaded successfully!")
&lt;/span&gt;&lt;span class="no"&gt;EOF
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 9: Load and Test Parakeet TDT 0.6B v3
&lt;/h2&gt;

&lt;h3&gt;
  
  
  9.1 Create Inference Script
&lt;/h3&gt;

&lt;p&gt;Create a file called &lt;code&gt;parakeet_inference.py&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;nemo.collections.asr&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;nemo_asr&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;

&lt;span class="c1"&gt;# Check GPU availability
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;CUDA available: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cuda&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;is_available&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cuda&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;is_available&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Using GPU: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;torch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cuda&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get_device_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Load the Parakeet TDT 0.6B v3 model
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Loading Parakeet TDT 0.6B v3 model...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;asr_model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nemo_asr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;models&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ASRModel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from_pretrained&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;nvidia/parakeet-tdt-0.6b-v3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Test with a sample audio file
# Download a sample audio file
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;exists&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sample_audio.wav&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;wget https://dldata-public.s3.us-east-2.amazonaws.com/2086-149220-0033.wav -O sample_audio.wav&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Transcribe the audio
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;Transcribing audio...&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;transcription&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asr_model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;transcribe&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sample_audio.wav&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

&lt;span class="c1"&gt;# Print results
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;Transcription result:&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9.2 Run the Inference Script
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python3 parakeet_inference.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The first run will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download the model from Hugging Face (~2.5 GB)&lt;/li&gt;
&lt;li&gt;Load it into GPU memory&lt;/li&gt;
&lt;li&gt;Download a sample audio file&lt;/li&gt;
&lt;li&gt;Transcribe the audio&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Expected output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CUDA available: True
Using GPU: NVIDIA L4
Loading Parakeet TDT 0.6B v3 model...
[NeMo I ...] Instantiating model from pre-trained checkpoint

Transcribing audio...

Transcription result:
he tells us that at this festive season of the year with...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Troubleshooting
&lt;/h1&gt;

&lt;h3&gt;
  
  
  Issue 1: SSH Connection Refused
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Possible causes and solutions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instance is still starting up (wait 1-2 minutes)&lt;/li&gt;
&lt;li&gt;Security group doesn't allow SSH on port 22&lt;/li&gt;
&lt;li&gt;Incorrect key permissions:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  &lt;span class="nb"&gt;chmod &lt;/span&gt;400 /path/to/your-key.pem
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Wrong username (should be &lt;code&gt;ubuntu&lt;/code&gt; for Ubuntu AMIs)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Issue 2: IAM Role Not Working
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Verify role attachment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# From within the EC2 instance&lt;/span&gt;
aws sts get-caller-identity
&lt;span class="c"&gt;# Should show the role ARN&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Next Step
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;We will explore different deploy options once we confirmed which open source model we are going to use.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;You now have a fully functional Parakeet TDT 0.6B v3 ASR system running on AWS EC2 with S3 integration. &lt;/p&gt;

&lt;p&gt;Happy transcribing! 🎙️&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>aws</category>
      <category>tutorial</category>
      <category>deeplearning</category>
    </item>
  </channel>
</rss>
