# Tổng quan

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export ai-developer-workflow.svg ai-ml-developer-workflow -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="20.0521in" height="2.58498in" viewbox="0 0 1443.75 186.119" xml:space="preserve" color-interpolation-filters="sRGB" class="st9" aria-label="../_images/ai-developer-workflow.svg" svgdefaultwidth="1443"><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-1 .st1 { fill: #ffffff; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #6280cc; stroke: #6280cc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st3 { fill: #ffffff; font-family: Roboto; font-size: 1.5em; font-weight: bold }
.svg-1 .st4 { font-size: 1em }
.svg-1 .st5 { marker-end: url("#mrkr13-26"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st6 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247787610619 }
.svg-1 .st7 { marker-end: url("#mrkr13-37"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st8 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.37313432835821 }
.svg-1 .st9 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend13">		<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"></path>	</g>	<marker id="mrkr13-26" class="st6" v:arrowtype="13" v:arrowsize="2" v:setback="6.78" refx="-6.78" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-2.26,-2.26) "></use>	</marker>	<marker id="mrkr13-37" class="st8" v:arrowtype="13" v:arrowsize="2" v:setback="8.04" refx="-8.04" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-2.68,-2.68) "></use>	</marker></defs><g v:mid="10" v:index="2" v:groupcontext="foregroundPage">	<title>ai-ml-developer-workflow</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="Connector" v:index="0"></v:layer>	<g id="shape36-1" v:mid="36" v:groupcontext="shape" transform="translate(18.375,-18.375)">		<title>Sheet.36</title>		<rect x="0" y="36.75" width="1407" height="149.369" class="st1"></rect>	</g>	<g id="shape27-3" v:mid="27" v:groupcontext="shape" transform="translate(45.048,-45.048)">		<title>Sheet.27</title>		<desc>Pretrained model</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100.716" cy="138.107" width="201.44" height="96.0227"></v:textrect>		<rect x="0" y="90.096" width="201.432" height="96.0227" rx="8" ry="8" class="st2"></rect>		<text x="30.81" y="143.51" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Pretrained model</text>		</g>	<g id="shape28-6" v:mid="28" v:groupcontext="shape" transform="translate(335.091,-49.0489)">		<title>Sheet.28</title>		<desc>Compile and optimize model</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100.716" cy="138.107" width="201.44" height="96.0227"></v:textrect>		<rect x="0" y="90.096" width="201.432" height="96.0227" rx="8" ry="8" class="st2"></rect>		<text x="50.06" y="132.71" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Compile and<v:lf></v:lf><tspan x="35.83" dy="1.2em" class="st4"> </tspan>optimize model</text>		</g>	<g id="shape29-10" v:mid="29" v:groupcontext="shape" transform="translate(623.16,-45.048)">		<title>Sheet.29</title>		<desc>Optimized model</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100.716" cy="138.107" width="201.44" height="96.0227"></v:textrect>		<rect x="0" y="90.096" width="201.432" height="96.0227" rx="8" ry="8" class="st2"></rect>		<text x="59.31" y="132.71" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Optimized<v:lf></v:lf><tspan x="75.51" dy="1.2em" class="st4">model</tspan></text>		</g>	<g id="shape30-14" v:mid="30" v:groupcontext="shape" transform="translate(910.586,-45.048)">		<title>Sheet.30</title>		<desc>Build/customize AI/ML application</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100.716" cy="138.107" width="201.44" height="96.0227"></v:textrect>		<rect x="0" y="90.096" width="201.432" height="96.0227" rx="8" ry="8" class="st2"></rect>		<text x="34.62" y="132.71" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Build/customize<v:lf></v:lf><tspan x="28.87" dy="1.2em" class="st4">AI/ML application</tspan></text>		</g>	<g id="shape31-18" v:mid="31" v:groupcontext="shape" transform="translate(1199.3,-45.048)">		<title>Sheet.31</title>		<desc>Deploy</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100.716" cy="138.107" width="201.44" height="96.0227"></v:textrect>		<rect x="0" y="90.096" width="201.432" height="96.0227" rx="8" ry="8" class="st2"></rect>		<text x="72.94" y="143.51" class="st3" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Deploy</text>		</g>	<g id="shape32-21" v:mid="32" v:groupcontext="shape" transform="translate(246.48,-93.0594)">		<title>Sheet.32</title>		<path d="M0 186.12 L75.05 186.12" class="st5"></path>	</g>	<g id="shape33-27" v:mid="33" v:groupcontext="shape" transform="translate(538.498,-93.0594)">		<title>Sheet.33</title>		<path d="M0 186.12 L69.13 186.12" class="st5"></path>	</g>	<g id="shape34-32" v:mid="34" v:groupcontext="shape" transform="translate(826.863,-93.0594)">		<title>Sheet.34</title>		<path d="M0 186.12 L70.38 186.12" class="st7"></path>	</g>	<g id="shape35-38" v:mid="35" v:groupcontext="shape" transform="translate(1113.3,-93.0594)">		<title>Sheet.35</title>		<path d="M0 186.12 L71.96 186.12" class="st7"></path>	</g></g>
</svg>

Hãy tham gia cùng chúng tôi và xem buổi đào tạo xoay quanh chủ đề Quy trình làm việc của nhà phát triển AI trên Qualcomm Linux.

Quy trình này được điều chỉnh phù hợp cho các nhà phát triển và chuyên gia trong lĩnh vực IoT mong muốn nâng cao hiểu biết và kỹ năng trong việc triển khai các giải pháp AI trên thiết bị trên nền tảng Qualcomm.

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewbox="0 0 640 400" width="640" height="400" style="cursor:auto !important" aria-label="../_images/ai-developer-workflow-video.svg" svgdefaultwidth="544">
    <defs>
      <style>@import url("https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&amp;display=swap");
.svg-2 .bg-fill { fill: var(--color-background) }
.svg-2 .fill-text { color: var(--color-content); fill: var(--color-content) }
.svg-2 .video-hoverbox { transition: opacity 0.15s ease-in-out }
.svg-2 .video-hoverbox:hover { opacity: 0.9 }</style>
  </defs>

  <foreignobject x="0" y="0" width="640" height="400">
    <body xmlns="http://www.w3.org/1999/xhtml">
        <iframe width="640" height="400" src="https://players.brightcove.net/1414329538001/4JiZQnWhg_default/index.html?videoId=6357317318112" allowfullscreen="" allow="encrypted-media"></iframe>
    <div class='topic-detail'><div class='topic-updated-date'><span> Last Published: </span>Oct 22, 2025</div><div class='prev-and-next-links'><span class='previous-topic-link'><span aria-hidden='true' class='disabled' data-tip='' data-effect='solid'></span></span></div></div></body>
    </foreignobject>
</svg>

Quy trình làm việc của nhà phát triển AI/ML trên Qualcomm Linux có hai bước chính:

| Bước 1<br><br><br>Biên dịch và tối ưu hóa mô hình | <ul class="simple"><br><li><p>Biên dịch và tối ưu hóa mô hình từ AI framework bên thứ ba để chạy một cách hiệu quả trên phần cứng Qualcomm. Ví dụ: bạn có thể xuất mô hình Tensorflow thành mô hình LiteRT.</p></li><br><li><p>Bạn cũng có thể lượng tử hóa, tinh chỉnh hiệu suất và độ chính xác bằng cách sử dụng các tùy chỉnh dành riêng cho phần cứng.</p></li><br></ul> |
| --- | --- |
| Bước 2<br><br><br>Tạo ứng dụng để sử dụng mô hình được tối ưu hóa nhằm chạy suy luận trên thiết bị | <ul class="simple"><br><li><p>Tích hợp mô hình AI vào pipeline.</p></li><br><li><p>Biên dịch chéo ứng dụng để tạo tệp nhị phân có thể thực thi bằng các thư viện phụ thuộc.</p></li><br></ul> |

Quan trọng

- Đảm bảo rằng máy chủ sử dụng Ubuntu 22.04.
- Các lệnh trong tài liệu này tương thích với Qualcomm Linux 1.4.

    Xác minh phiên bản phát hành của Qualcomm Linux bằng cách chạy các lệnh được mô tả trong [Hướng dẫn bắt đầu nhanh cho Bộ công cụ phát triển](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-253/getting_started.html)

    Nếu phiên bản phát hành của bạn không phải là 1.4, [hãy cập nhật phần mềm](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-253/set_up_the_device.html#panel-0-VWJ1bnR1tab$update-software).
- Ứng dụng mẫu và quy trình AI trong tài liệu này tương thích với [các phiên bản được hỗ trợ](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51/introduction.html#supported-component-versions).

    Đảm bảo bạn tải SDK phù hợp xuống máy chủ trước khi bắt đầu phát triển AI/ML.

## Kiến trúc AI

<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="1152px" height="769.72px" viewbox="0 0 1152 769.72" aria-label="../_images/ai-app-development-overview_QLI.svg" svgdefaultwidth="979">
  <!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151)  -->
  <defs>
    <style>.svg-3 .st0 { fill: #2a2aea }
.svg-3 .st1 { fill: url("#linear-gradient2") }
.svg-3 .st2 { fill: #dedfdf }
.svg-3 .st3,.svg-3 .st4 { fill: #fff }
.svg-3 .st3,.svg-3 .st5 { font-family: Roboto-Bold, Roboto; font-size: 20px; font-weight: 700 }
.svg-3 .st6 { fill: url("#linear-gradient1") }
.svg-3 .st7 { fill: #007884 }
.svg-3 .st8,.svg-3 .st9 { fill: none }
.svg-3 .st10 { fill: #b2b2b2 }
.svg-3 .st11,.svg-3 .st12 { fill: #040a40 }
.svg-3 .st13 { fill: #343433 }
.svg-3 .st14 { fill: #d8d8d8 }
.svg-3 .st15 { font-family: Roboto-Regular, Roboto; font-size: 14px }
.svg-3 .st9 { stroke: #2a2aea }
.svg-3 .st9,.svg-3 .st16,.svg-3 .st12 { stroke-miterlimit: 10; stroke-width: 2px }
.svg-3 .st17 { fill: #ee4c2c }
.svg-3 .st16 { fill: #fafafa; stroke: #d4d8e3 }
.svg-3 .st18 { fill: #f4f5f6 }
.svg-3 .st12 { stroke: #040a40 }
.svg-3 .st19 { fill: url("#linear-gradient3") }
.svg-3 .st20 { fill: #fefefe }
.svg-3 .st21 { fill: url("#linear-gradient") }
.svg-3 .st22 { fill: #d1d1d1 }</style>
    <lineargradient id="linear-gradient" x1="940.82" y1="156" x2="954" y2="156" gradientunits="userSpaceOnUse">
      <stop offset="0" stop-color="#ff6f00"></stop>
      <stop offset="1" stop-color="#ffa800"></stop>
    </lineargradient>
    <lineargradient id="linear-gradient1" x1="926" x2="939.18" xlink:href="#linear-gradient"></lineargradient>
    <lineargradient id="linear-gradient2" x1="692.82" x2="706" xlink:href="#linear-gradient"></lineargradient>
    <lineargradient id="linear-gradient3" x1="678" x2="691.18" xlink:href="#linear-gradient"></lineargradient>
  </defs>
  <rect class="st4" width="1152" height="769.72"></rect>
  <rect class="st16" x="132" y="588" width="1008" height="112"></rect>
  <rect class="st16" x="132" y="452" width="1008" height="112"></rect>
  <rect class="st16" x="132" y="236" width="1008" height="192"></rect>
  <rect class="st16" x="132" y="100" width="1008" height="112"></rect>
  <g id="applications">
    <rect class="st12" x="132" y="12" width="1008" height="64"></rect>
    <text class="st3" transform="translate(579.71 51.5)"><tspan x="0" y="0">Applications</tspan></text>
  </g>
  <g id="Callouts">
    <text class="st5" transform="translate(14.92 149.5)"><tspan x="0" y="0">Framework </tspan><tspan x="2.13" y="28">Converters</tspan></text>
    <text class="st5" transform="translate(40.66 333.5)"><tspan x="0" y="0">Runtime </tspan><tspan x="-25.74" y="28">Framework</tspan></text>
    <text class="st5" transform="translate(26.32 501.5)"><tspan x="0" y="0">Low Level </tspan><tspan x="10.58" y="28">Libraries</tspan></text>
    <text class="st5" transform="translate(30.55 651.5)"><tspan x="0" y="0">AI Engine</tspan></text>
  </g>
  <g id="Open_Source">
    <g>
      <rect class="st7" x="191.56" y="736.97" width="18" height="18" rx="4.63" ry="4.63"></rect>
      <path class="st7" d="M204.93,737.97c2,0,3.63,1.63,3.63,3.63v8.74c0,2-1.63,3.63-3.63,3.63h-8.74c-2,0-3.63-1.63-3.63-3.63v-8.74c0-2,1.63-3.63,3.63-3.63h8.74M204.93,735.97h-8.74c-3.11,0-5.63,2.52-5.63,5.63v8.74c0,3.11,2.52,5.63,5.63,5.63h8.74c3.11,0,5.63-2.52,5.63-5.63v-8.74c0-3.11-2.52-5.63-5.63-5.63h0Z"></path>
    </g>
    <text class="st15" transform="translate(223.71 751.22)"><tspan x="0" y="0">Open Source</tspan></text>
  </g>
  <g id="Qualcomm">
    <rect class="st0" x="33.12" y="735.97" width="20" height="20" rx="5.63" ry="5.63"></rect>
    <text class="st15" transform="translate(66.27 751.22)"><tspan x="0" y="0">Qualcomm</tspan></text>
  </g>
  <g>
    <g>
      <rect class="st9" x="932.19" y="595.87" width="95.61" height="95.61" rx="11.5" ry="11.5"></rect>
      <rect class="st9" x="936.37" y="600.04" width="87.27" height="87.27" rx="7" ry="7"></rect>
      <g>
        <g>
          <circle class="st0" cx="944.84" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="960.47" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="968.28" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="976.09" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="983.91" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="991.72" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="999.53" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="608.29" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="960.47" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="968.28" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="976.09" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="983.91" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="991.72" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="999.53" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="616.15" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="960.47" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="968.28" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="976.09" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="983.91" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="991.72" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="999.53" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="671.2" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="663.34" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="655.47" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="647.61" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="639.75" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="631.88" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="624.02" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="944.84" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="952.65" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="960.47" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="968.28" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="976.09" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="983.91" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="991.72" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="999.53" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="1007.35" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="1015.16" cy="679.07" r="1.98"></circle>
        </g>
      </g>
    </g>
    <g>
      <path class="st0" d="M974.26,640.74c.06.14.08.36-.22.44l-1.98.5c-.3.06-.38-.14-.44-.28-.78-1.5-2.18-2.52-4.22-2.52-2.66,0-4.64,2.14-4.64,4.84s1.96,4.8,4.68,4.8c1.92,0,3.46-1.1,4.14-2.68h-3.84c-.24,0-.44-.2-.44-.42v-1.32c0-.24.2-.42.44-.42h6.02c.24,0,.44.18.44.42v6.14c0,.24-.2.44-.44.44h-1.58c-.24,0-.44-.2-.44-.44v-1.44c-.9,1.24-2.36,2.16-4.66,2.16-4.08,0-7.12-3.16-7.12-7.28s3.26-7.28,7.44-7.28c3.1,0,5.86,1.64,6.86,4.34Z"></path>
      <path class="st0" d="M978.58,650.68h-1.84c-.24,0-.42-.2-.42-.44v-13.14c0-.22.18-.42.42-.42h5.26c3.3,0,5,2.12,5,4.62s-1.7,4.62-5,4.62h-3v4.32c0,.24-.18.44-.42.44ZM981.82,643.56c1.34,0,2.4-.86,2.4-2.26s-1.06-2.26-2.4-2.26h-2.82v4.52h2.82Z"></path>
      <path class="st0" d="M994.24,650.96c-3.02,0-5.78-1.62-5.78-5.26v-8.6c0-.22.18-.42.42-.42h1.82c.24,0,.44.2.44.42v8.42c0,1.86,1.14,3,3.1,3s3.12-1.14,3.12-3v-8.42c0-.22.2-.42.44-.42h1.82c.22,0,.42.2.42.42v8.58c0,3.64-2.76,5.28-5.8,5.28Z"></path>
    </g>
  </g>
  <g>
    <g>
      <rect class="st9" x="596.19" y="595.87" width="95.61" height="95.61" rx="11.5" ry="11.5"></rect>
      <rect class="st9" x="600.37" y="600.04" width="87.27" height="87.27" rx="7" ry="7"></rect>
      <g>
        <g>
          <circle class="st0" cx="608.84" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="624.47" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="632.28" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="640.09" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="647.91" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="655.72" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="663.53" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="608.29" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="608.29" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="624.47" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="632.28" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="640.09" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="647.91" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="655.72" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="663.53" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="616.15" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="616.15" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="624.47" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="632.28" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="640.09" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="647.91" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="655.72" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="663.53" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="671.2" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="671.2" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="663.34" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="663.34" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="655.47" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="655.47" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="647.61" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="647.61" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="639.75" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="639.75" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="631.88" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="631.88" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="624.02" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="624.02" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="608.84" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="616.65" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="624.47" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="632.28" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="640.09" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="647.91" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="655.72" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="663.53" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="671.35" cy="679.07" r="1.98"></circle>
          <circle class="st0" cx="679.16" cy="679.07" r="1.98"></circle>
        </g>
      </g>
    </g>
    <g>
      <path class="st0" d="M627.56,640.78v9.34c0,.24-.18.42-.42.42h-1.84c-.24,0-.42-.18-.42-.42v-13.16c0-.22.18-.42.42-.42h2.38c.24,0,.46.08.62.34l5.86,9.2v-9.12c0-.22.18-.42.4-.42h1.84c.22,0,.44.2.44.42v13.16c0,.24-.22.42-.44.42h-1.98c-.42,0-.68-.12-.86-.42l-6-9.34Z"></path>
      <path class="st0" d="M641.66,650.54h-1.84c-.24,0-.42-.2-.42-.44v-13.14c0-.22.18-.42.42-.42h5.26c3.3,0,5,2.12,5,4.62s-1.7,4.62-5,4.62h-3v4.32c0,.24-.18.44-.42.44ZM644.9,643.42c1.34,0,2.4-.86,2.4-2.26s-1.06-2.26-2.4-2.26h-2.82v4.52h2.82Z"></path>
      <path class="st0" d="M657.32,650.82c-3.02,0-5.78-1.62-5.78-5.26v-8.6c0-.22.18-.42.42-.42h1.82c.24,0,.44.2.44.42v8.42c0,1.86,1.14,3,3.1,3s3.12-1.14,3.12-3v-8.42c0-.22.2-.42.44-.42h1.82c.22,0,.42.2.42.42v8.58c0,3.64-2.76,5.28-5.8,5.28Z"></path>
    </g>
  </g>
  <g>
    <g>
      <rect class="st9" x="244.19" y="595.99" width="95.61" height="95.61" rx="11.5" ry="11.5"></rect>
      <rect class="st9" x="248.37" y="600.16" width="87.27" height="87.27" rx="7" ry="7"></rect>
      <g>
        <g>
          <circle class="st0" cx="256.84" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="272.47" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="280.28" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="288.09" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="295.91" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="303.72" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="311.53" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="608.41" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="608.41" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="272.47" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="280.28" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="288.09" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="295.91" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="303.72" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="311.53" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="616.27" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="616.27" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="272.47" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="280.28" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="288.09" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="295.91" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="303.72" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="311.53" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="671.32" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="671.32" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="663.46" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="663.46" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="663.46" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="663.46" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="655.59" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="655.59" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="655.59" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="655.59" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="647.73" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="647.73" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="647.73" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="647.73" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="639.87" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="639.87" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="639.87" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="639.87" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="632" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="632" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="632" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="632" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="624.14" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="624.14" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="624.14" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="624.14" r="1.98"></circle>
        </g>
        <g>
          <circle class="st0" cx="256.84" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="264.65" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="272.47" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="280.28" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="288.09" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="295.91" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="303.72" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="311.53" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="319.35" cy="679.19" r="1.98"></circle>
          <circle class="st0" cx="327.16" cy="679.19" r="1.98"></circle>
        </g>
      </g>
    </g>
    <g>
      <path class="st0" d="M272.35,643.8c0-4.12,3.24-7.28,7.36-7.28,3.04,0,5.76,1.6,6.68,4.34.06.18.08.36-.22.44l-2,.5c-.3.06-.38-.14-.44-.28-.72-1.46-2.06-2.52-4-2.52-2.66,0-4.58,2.1-4.58,4.8s1.92,4.8,4.58,4.8c1.94,0,3.28-1.06,4-2.52.06-.14.14-.34.44-.28l2,.5c.3.08.28.26.22.44-.92,2.74-3.64,4.34-6.68,4.34-4.12,0-7.36-3.16-7.36-7.28Z"></path>
      <path class="st0" d="M290.19,650.8h-1.84c-.24,0-.42-.2-.42-.44v-13.14c0-.22.18-.42.42-.42h5.26c3.3,0,5,2.12,5,4.62s-1.7,4.62-5,4.62h-3v4.32c0,.24-.18.44-.42.44ZM293.43,643.68c1.34,0,2.4-.86,2.4-2.26s-1.06-2.26-2.4-2.26h-2.82v4.52h2.82Z"></path>
      <path class="st0" d="M305.85,651.08c-3.02,0-5.78-1.62-5.78-5.26v-8.6c0-.22.18-.42.42-.42h1.82c.24,0,.44.2.44.42v8.42c0,1.86,1.14,3,3.1,3s3.12-1.14,3.12-3v-8.42c0-.22.2-.42.44-.42h1.82c.22,0,.42.2.42.42v8.58c0,3.64-2.76,5.28-5.8,5.28Z"></path>
    </g>
  </g>
  <g id="gpu-backend-lib">
    <rect class="st0" x="836" y="476" width="288" height="64" rx="8" ry="8"></rect>
    <text class="st3" transform="translate(876.68 515.5)"><tspan x="0" y="0">GPU Backend Libraries</tspan></text>
  </g>
  <g id="npu-backend-lib">
    <rect class="st0" x="500" y="476" width="288" height="64" rx="8" ry="8"></rect>
    <text class="st3" transform="translate(540.44 515.5)"><tspan x="0" y="0">NPU Backend Libraries</tspan></text>
  </g>
  <g id="cpu-backend-lib">
    <rect class="st0" x="148" y="476" width="288" height="64" rx="8" ry="8"></rect>
    <text class="st3" transform="translate(188.95 515.5)"><tspan x="0" y="0">CPU Backend Libraries</tspan></text>
  </g>
  <g id="tflite">
    <g>
      <rect class="st7" x="836.65" y="261" width="286" height="142" rx="7" ry="7"></rect>
      <path class="st7" d="M1115.65,262c3.31,0,6,2.69,6,6v128c0,3.31-2.69,6-6,6h-272c-3.31,0-6-2.69-6-6v-128c0-3.31,2.69-6,6-6h272M1115.65,260h-272c-4.42,0-8,3.58-8,8v128c0,4.42,3.58,8,8,8h272c4.42,0,8-3.58,8-8v-128c0-4.42-3.58-8-8-8h0Z"></path>
    </g>
    <a xlink:href="https://docs.qualcomm.com/bundle/resource/topics/80-70014-15B/tflite.html">
      <text class="st3" transform="translate(950.24 339.5)"><tspan x="0" y="0">LiteRT</tspan></text>
    </a>
  </g>
  <g id="ai-eng-dir-qnn">
    <rect class="st0" x="500.31" y="260" width="288" height="144" rx="8" ry="8"></rect>
    <a xlink:href="https://docs.qualcomm.com/bundle/resource/topics/80-70014-15B/qnn.html
 ">
      <text class="st3" transform="translate(541.75 339.5)"><tspan x="0" y="0">AI Engine Direct (QNN)</tspan></text>
    </a>
  </g>
  <g id="snpe">
    <rect class="st0" x="148" y="260" width="288" height="144" rx="8" ry="8"></rect>
    <a xlink:href="https://docs.qualcomm.com/bundle/resource/topics/80-70014-15B/snpe.html">
      <text class="st3" transform="translate(209.17 329)"><tspan x="0" y="0">Neural Processing </tspan><tspan x="17.43" y="21">Engine (SNPE)</tspan></text>
    </a>
  </g>
  <g id="tensorflowlite">
    <g>
      <rect class="st7" x="917" y="125" width="206" height="62" rx="7" ry="7"></rect>
      <path class="st7" d="M1116,126c3.31,0,6,2.69,6,6v48c0,3.31-2.69,6-6,6h-192c-3.31,0-6-2.69-6-6v-48c0-3.31,2.69-6,6-6h192M1116,124h-192c-4.42,0-8,3.58-8,8v48c0,4.42,3.58,8,8,8h192c4.42,0,8-3.58,8-8v-48c0-4.42-3.58-8-8-8h0Z"></path>
    </g>
    <a xlink:href="https://www.tensorflow.org/lite">
      <text class="st3" transform="translate(964 163.5)"><tspan x="0" y="0">LiteRT</tspan></text>
    </a>
    <g>
      <g>
        <polygon class="st21" points="954 154.89 953.98 147.81 940.82 140 940.82 172 946.08 168.83 946.08 159.83 950.05 162.21 950.03 156.06 946.08 153.71 946.08 150.14 954 154.89"></polygon>
        <polygon class="st6" points="926 154.89 933.92 150.14 933.92 168.83 939.18 172 939.18 140 926.02 147.81 926 154.89"></polygon>
      </g>
      <rect class="st8" x="924" y="140" width="32" height="32"></rect>
    </g>
  </g>
  <g id="tensorflow">
    <g>
      <rect class="st7" x="661" y="125" width="206" height="62" rx="7" ry="7"></rect>
      <path class="st7" d="M860,126c3.31,0,6,2.69,6,6v48c0,3.31-2.69,6-6,6h-192c-3.31,0-6-2.69-6-6v-48c0-3.31,2.69-6,6-6h192M860,124h-192c-4.42,0-8,3.58-8,8v48c0,4.42,3.58,8,8,8h192c4.42,0,8-3.58,8-8v-48c0-4.42-3.58-8-8-8h0Z"></path>
    </g>
    <a xlink:href="https://www.tensorflow.org/">
      <text class="st3" transform="translate(724 163.5)"><tspan x="0" y="0">TensorFlow</tspan></text>
    </a>
    <g>
      <g>
        <polygon class="st1" points="706 154.89 705.98 147.81 692.82 140 692.82 172 698.08 168.83 698.08 159.83 702.05 162.21 702.03 156.06 698.08 153.71 698.08 150.14 706 154.89"></polygon>
        <polygon class="st19" points="678 154.89 685.92 150.14 685.92 168.83 691.18 172 691.18 140 678.02 147.81 678 154.89"></polygon>
      </g>
      <rect class="st8" x="676" y="140" width="32" height="32"></rect>
    </g>
  </g>
  <g id="pytorch">
    <g>
      <rect class="st7" x="405" y="125" width="206" height="62" rx="7" ry="7"></rect>
      <path class="st7" d="M604,126c3.31,0,6,2.69,6,6v48c0,3.31-2.69,6-6,6h-192c-3.31,0-6-2.69-6-6v-48c0-3.31,2.69-6,6-6h192M604,124h-192c-4.42,0-8,3.58-8,8v48c0,4.42,3.58,8,8,8h192c4.42,0,8-3.58,8-8v-48c0-4.42-3.58-8-8-8h0Z"></path>
    </g>
    <a xlink:href="https://pytorch.org/">
      <text class="st3" transform="translate(484 163.5)"><tspan x="0" y="0">PyTorch</tspan></text>
    </a>
    <g>
      <g>
        <path class="st17" d="M461.4,149.36l-2.4,2.38c3.93,3.9,3.93,10.18,0,14.02-3.93,3.9-10.26,3.9-14.14,0-3.93-3.9-3.93-10.18,0-14.02h0l6.24-6.19.89-.88h0v-4.66l-9.41,9.33c-5.23,5.19-5.23,13.58,0,18.78s13.69,5.19,18.84,0c5.21-5.19,5.21-13.52-.03-18.75Z"></path>
        <ellipse class="st17" cx="456.7" cy="147.07" rx="1.74" ry="1.73"></ellipse>
      </g>
      <rect class="st8" x="436" y="140" width="32" height="32"></rect>
    </g>
  </g>
  <g id="onnx">
    <g>
      <rect class="st7" x="149" y="125" width="206" height="62" rx="7" ry="7"></rect>
      <path class="st7" d="M348,126c3.31,0,6,2.69,6,6v48c0,3.31-2.69,6-6,6h-192c-3.31,0-6-2.69-6-6v-48c0-3.31,2.69-6,6-6h192M348,124h-192c-4.42,0-8,3.58-8,8v48c0,4.42,3.58,8,8,8h192c4.42,0,8-3.58,8-8v-48c0-4.42-3.58-8-8-8h0Z"></path>
    </g>
    <g>
      <a xlink:href="https://onnx.ai/">
        <text class="st3" transform="translate(240 163.5)"><tspan x="0" y="0">ONNX</tspan></text>
      </a>
      <g>
        <g>
          <path class="st13" d="M222.68,155.06c-.14,0-.25-.07-.31-.19l-5.13-9.43c-.07-.11-.08-.24-.03-.35.23-.67-.12-1.4-.8-1.64-.4-.14-.84-.07-1.18.17-.13.1-.31.14-.47.09l-10.09-2.01c-.16,0-.29-.12-.32-.27-.49-1.67-3.01-.89-2.47.76.06.14.03.31-.07.43l-8.01,11.41c-.11.15-.21.22-.37.16-.69-.06-1.3.43-1.39,1.1-.11.69.36,1.33,1.06,1.44.02,0,.03,0,.05,0,.16,0,.29.11.33.27l4.31,10.55c.05.11.06.24.03.37-.37,1.21,1.04,2.17,2.04,1.39.1-.08.22-.12.35-.1l12.99,1.26c.15,0,.28.09.33.22.74,1.68,3.25.39,2.3-1.18-.08-.11-.08-.26,0-.37l6.55-11.3c.06-.14.2-.22.34-.21,1.75.02,1.76-2.6,0-2.57h0ZM202.62,144.87l.37-1.57c.03-.13.07-.21.24-.22.32-.02.63-.17.83-.43.08-.12.23-.16.36-.11l10.15,2.01s.05.02.16.06l-3.19,1.37-9.63,4.16s-.1.04-.15.06c-.1.04-.2.14-.32.04-.11-.09-.03-.2,0-.29l1.2-5.1h0ZM201.89,143.99l.05.03-1.37,5.8c-.02.13-.12.25-.25.28-.5.14-.86.57-.89,1.09,0,.13-.07.25-.18.31l-4.33,2.53s-.07.02-.11.02l7.07-10.07ZM198.47,166.63c-.02.08-.04.16-.06.25l-4.14-10.12c-.1-.17-.08-.39.07-.53.18-.2.27-.47.24-.74-.03-.17.07-.33.23-.39l4.74-2.77c.09-.05.18-.17.31-.05.12.11.28.16.25.39l-.43,3.63-1.2,10.35h0ZM199.96,167.43c-.13-.16-.3-.27-.5-.33-.12-.04-.2-.08-.16-.19l.37-3.22.74-6.41.51-4.48c.03-.3.25-.29.43-.4s.23.05.31.12l10.75,9.27c.23.24.17.63-.13.79l-11.98,4.91c-.14.06-.24.07-.35-.07h0ZM213.98,169.12c-.1.04-.18.11-.24.2-.17.35-.45.3-.75.27l-12.44-1.22-.02-.06,1.93-.8,10.09-4.14c.19-.08.31,0,.48.05.5.17.51.56.56.97l.51,4.41c.02.12.01.22-.12.29h0ZM213.55,160.99c-.02.16-.09.2-.22.26s-.28.03-.37-.08l-2.58-2.23-8.18-7.06c-.2-.21-.28-.5-.22-.78.06-.11.19-.12.3-.17l12.41-5.37c.18-.08.32-.12.46.07.07.08.16.14.26.18.12.05.17.11.14.2l-.36,2.72-1.63,12.27h-.01ZM214.96,168.84l-.2-1.63-.36-3.12c-.04-.29-.06-.52.25-.75.33-.25.49-.67.41-1.08-.01-.12-.01-.19.1-.27l6.08-4.11s.06-.02.09-.02l-6.36,10.98ZM221.56,155.74c-.15.21-.21.47-.15.73.04.15-.03.32-.18.39l-6.51,4.43c-.07.05-.13.14-.25.07-.13-.07-.08-.18-.07-.28l1.98-14.85c.02-.11.04-.22.08-.4l1.18,2.15,3.93,7.23c.13.16.13.38,0,.54h0Z"></path>
          <path class="st20" d="M215.54,145.99c.03-.08-.02-.15-.14-.2-.1-.04-.19-.1-.26-.18-.14-.19-.28-.15-.46-.07l-1.93.84c-3.49,1.51-6.98,3.02-10.47,4.53-.1.04-.24.05-.3.17-.06.28.02.57.22.78l10.76,9.3c.09.11.24.14.37.08.13-.06.2-.1.22-.26l.82-6.17c.27-2.04.54-4.07.81-6.11l.36-2.72h0Z"></path>
          <path class="st18" d="M212.42,161.81c-3.58-3.09-7.16-6.18-10.75-9.27-.08-.07-.15-.23-.31-.12s-.4.1-.43.4l-.51,4.48-.74,6.41-.37,3.22c-.04.11.04.16.16.19.2.06.37.17.5.33.11.14.21.13.35.07,3.99-1.64,7.98-3.27,11.98-4.91.25-.12.34-.42.22-.67-.02-.04-.05-.08-.09-.12h0Z"></path>
          <path class="st2" d="M217.62,147.97l-1.18-2.15-.08.4-.67,5.07c-.44,3.26-.87,6.52-1.31,9.79-.01.1-.06.2.07.28.12.07.18-.02.25-.07l6.51-4.43c.14-.07.22-.23.18-.39-.05-.25,0-.52.15-.73.13-.16.12-.39,0-.54-1.32-2.41-2.63-4.82-3.93-7.23Z"></path>
          <path class="st22" d="M201.43,150.26c.12.1.22,0,.32-.04l.15-.06c3.21-1.39,6.42-2.78,9.63-4.16l3.19-1.37-.16-.06c-3.38-.67-6.77-1.34-10.15-2.01-.13-.05-.28,0-.36.11-.2.26-.5.41-.83.43-.17.01-.21.09-.24.22-.12.52-.24,1.05-.37,1.57l-1.2,5.1c-.02.1-.1.2,0,.29h0ZM213.59,164.41c-.05-.41-.06-.8-.56-.97-.18-.06-.29-.13-.48-.05-3.36,1.38-6.72,2.76-10.09,4.12l-1.93.8.02.06,12.44,1.22c.3.03.59.07.75-.27.06-.09.14-.16.24-.2.13-.07.13-.16.12-.29-.17-1.47-.34-2.94-.51-4.41h0Z"></path>
          <path class="st14" d="M200.1,152.65c.03-.23-.13-.28-.25-.39-.13-.12-.22,0-.31.05l-4.74,2.77c-.16.06-.25.23-.23.39.03.27-.06.54-.24.74-.14.14-.17.36-.07.53.9,2.18,1.79,4.37,2.68,6.55l1.46,3.57c.02-.08.05-.16.06-.24.2-1.69.4-3.39.59-5.08.2-1.76.41-3.51.61-5.27l.43-3.63h0Z"></path>
          <path class="st10" d="M215.16,162.01c-.11.07-.11.15-.1.27.08.41-.08.82-.41,1.08-.31.21-.28.45-.25.75l.36,3.12.2,1.63,6.37-10.98s-.06.01-.09.02c-2.02,1.38-4.05,2.75-6.07,4.13h0ZM199.25,151.5c.11-.06.18-.18.18-.31.04-.51.39-.95.89-1.09.13-.03.23-.14.25-.28.45-1.93.91-3.87,1.37-5.8l-.05-.03-7.07,10.07s.07-.01.11-.02c1.44-.84,2.88-1.69,4.33-2.53Z"></path>
        </g>
        <rect class="st8" x="192" y="140" width="32" height="32"></rect>
      </g>
    </g>
  </g>
  <g id="Open_Source1" data-name="Open_Source">
    <rect class="st11" x="356" y="733.83" width="20" height="20" rx="5.63" ry="5.63"></rect>
    <text class="st15" transform="translate(389.15 749.08)"><tspan x="0" y="0">Third party</tspan></text>
  </g>
</svg>

Nhà phát triển có thể dùng các mô hình ONNX, PyTorch, TensorFlow hoặc TFLite và chạy một cách hiệu quả trên Phần cứng AI Qualcomm –HTP (NPU), GPU, CPU bằng Qualcomm AI SDKs.

## Phần cứng AI

- **Qualcomm Kryo™ CPU** :  CPU hàng đầu với hiệu suất cao và tiết kiệm điện năng đáng kể.
- **Qualcomm Adreno GPU** :  Phù hợp để chạy các tải AI với công suất và hiệu suất cân bằng. Các tải AI được tăng tốc bằng nhân OpenCL. GPU cũng có thể được sử dụng để tăng tốc quy trình tiền/hậu xử lý mô hình.
- **Qualcomm Hexagon Tensor Processor (HTP)** :  Còn được gọi là NPU/DSP/HMX, phù hợp để chạy các tải AI với công suất thấp và hiệu suất cao. Để có hiệu suất tối ưu, các mô hình huấn luyện sẵn cần được lượng tử hóa theo một trong các độ chính xác được hỗ trợ.

## Phần mềm AI

AI stack chứa các SDK để khai thác sức mạnh của trình tăng tốc phần cứng AI. Nhà phát triển có thể sử dụng một trong các SDK mà họ lựa chọn để triển khai AI workload. Cần chuyển đổi các mô hình huấn luyện sẵn (trừ các mô hình LiteRT) sang định dạng có thể thực thi với SDK đã chọn trước khi chạy. Các mô hình LiteRT có thể chạy trực tiếp bằng TFLite Delegate.

TFLite

Các mô hình LiteRT có thể chạy trực tiếp trên phần cứng Qualcomm với khả năng tăng tốc nhờ các Delegate (Trình ủy quyền tăng tốc) sau đây.

| Delegate | Bộ Tăng tốc |
| --- | --- |
| AI Engine Direct Delegate (QNN Delegate) | CPU, GPU và HTP |
| XNNPACK Delegate | CPU |
| GPU Delegate | GPU |

Qualcomm Neural Processing Engine SDK (SNPE)

Qualcomm Neural Processing Engine (SNPE) là runtime được tăng tốc bằng phần mềm để thực thi các mạng nơ-ron sâu. SNPE cung cấp các công cụ để chuyển đổi, lượng tử hóa mạng nơ-ron và tăng tốc chúng trên các phần cứng bao gồm CPU, GPU và HTP.

Qualcomm AI Engine Direct (QNN)

Qualcomm AI Engine Direct là một kiến trúc phần mềm dành cho các trường hợp sử dụng AI/ML trên chipset của Qualcomm và lõi tăng tốc AI. Kiến trúc này được thiết kế để cung cấp API thống nhất và thư viện dạng mô-đun có thể mở rộng theo từng trình tăng tốc, tạo nền tảng tái sử dụng cho các giải pháp AI toàn diện. Kiến trúc này hỗ trợ các runtime như Qualcomm Neural Processing SDK, LiteRT AI Engine Direct Delegate.

AI Model Efficiency Toolkit (AIMET)

Thư viện nguồn mở để tối ưu hóa (nén và lượng tử hóa) các mô hình mạng nơ-ron đã được huấn luyện. Đây là một SDK phức tạp được thiết kế để tạo ra mô hình lượng tử hóa được tối ưu hóa và chỉ dành cho nhà phát triển nâng cao.

Last Published: Oct 22, 2025

[Previous Topic
Tài liệu quy trình làm việc của nhà phát triển AI](https://docs.qualcomm.com/bundle/publicresource/80-70018-15BV/topics/introduction.md) [Next Topic
Biên dịch và tối ưu hóa mô hình AI](https://docs.qualcomm.com/bundle/publicresource/80-70018-15BV/topics/compile-and-optimize-model.md)