Refresh

This website www.unite.ai/sw/tensorrt-llm-a-comprehensive-guide-to-optimizing-large-language-model-inference-for-maximum-performance/ is currently offline. Cloudflare's Always Online™ shows a snapshot of this web page from the Internet Archive's Wayback Machine. To check for the live version, click Refresh.

Kuungana na sisi

Artificial Intelligence

TensorRT-LLM: Mwongozo Kamili wa Kuboresha Muundo wa Lugha Kubwa kwa Utendaji wa Juu

mm

Imechapishwa

 on

Ukadiriaji wa TensorRT-LLM NVIDEA, muunganisho wa operesheni, usahihi wa FP8, na usaidizi wa GPU nyingi

Kadiri mahitaji ya miundo mikubwa ya lugha (LLMs) yanavyoendelea kuongezeka, kuhakikisha uelekezaji wa haraka, ufaao, na wa kupanuka umekuwa muhimu zaidi kuliko hapo awali. NVIDIA TensorRT-LLM hatua za kushughulikia changamoto hii kwa kutoa seti ya zana zenye nguvu na uboreshaji iliyoundwa mahususi kwa uelekezaji wa LLM. TensorRT-LLM inatoa safu ya kuvutia ya maboresho ya utendakazi, kama vile quantization, kernel fusion, batching ndani ya ndege, na usaidizi wa GPU nyingi. Maendeleo haya yanawezesha kufikia kasi ya makisio hadi mara 8 kwa kasi zaidi kuliko mbinu za jadi za msingi wa CPU, kubadilisha jinsi tunavyotumia LLM katika uzalishaji.

Mwongozo huu wa kina utachunguza vipengele vyote vya TensorRT-LLM, kutoka kwa usanifu wake na vipengele muhimu hadi mifano ya vitendo ya kupeleka miundo. Iwe wewe ni mhandisi wa AI, msanidi programu, au mtafiti, mwongozo huu utakupa maarifa ya kutumia TensorRT-LLM kwa ajili ya kuboresha uelekezaji wa LLM kwenye NVIDIA GPU.

Kuharakisha Uingizaji wa LLM na TensorRT-LLM

TensorRT-LLM inatoa maboresho makubwa katika utendaji wa maelekezo wa LLM. Kulingana na majaribio ya NVIDIA, programu kulingana na TensorRT zinaonyesha hadi 8x haraka kasi ya makisio ikilinganishwa na majukwaa ya CPU pekee. Haya ni maendeleo muhimu katika programu za wakati halisi kama vile gumzo, mifumo ya mapendekezo na mifumo inayojiendesha inayohitaji majibu ya haraka.

Jinsi Ni Kazi

TensorRT-LLM huharakisha uelekezaji kwa kuboresha mitandao ya neural wakati wa kupeleka kwa kutumia mbinu kama vile:

  • Upimaji: Hupunguza usahihi wa uzani na kuwezesha, kupungua saizi ya muundo na kuboresha kasi ya uelekezaji.
  • Safu na Tensor Fusion: Huunganisha shughuli kama vile vitendakazi vya kuwezesha na kuzidisha matriki kuwa operesheni moja.
  • Urekebishaji wa Kernel: Huchagua kokwa bora za CUDA kwa hesabu ya GPU, kupunguza muda wa utekelezaji.

Uboreshaji huu huhakikisha kwamba miundo yako ya LLM hufanya kazi kwa ufanisi katika anuwai ya majukwaa ya utumiaji—kutoka kwa vituo vya data vya kiwango kikubwa hadi mifumo iliyopachikwa.

Kuboresha Utendaji wa Maelekezo kwa TensorRT

Imeundwa juu ya muundo wa programu sambamba wa CUDA wa NVIDIA, TensorRT hutoa uboreshaji maalum kwa makisio kwenye NVIDIA GPU. Kwa kurahisisha michakato kama vile ujanibishaji, urekebishaji wa kernel, na muunganisho wa shughuli za tensor, TensorRT inahakikisha kuwa LLM zinaweza kufanya kazi kwa muda mdogo.

Baadhi ya mbinu zenye ufanisi zaidi ni pamoja na:

  • Upimaji: Hii inapunguza usahihi wa nambari wa vigezo vya mfano huku ikidumisha usahihi wa juu, ikiharakisha uelekezaji kwa ufanisi.
  • Fusion ya Tensor: Kwa kuunganisha shughuli nyingi kwenye kerneli moja ya CUDA, TensorRT inapunguza kichwa cha kumbukumbu na kuongeza upitishaji.
  • Urekebishaji wa Kernel otomatiki: TensorRT huchagua kiotomatiki kokwa bora kwa kila operesheni, ikiboresha makisio kwa GPU fulani.

Mbinu hizi huruhusu TensorRT-LLM kuboresha utendaji wa makisio kwa ajili ya kazi za kina za kujifunza kama vile kuchakata lugha asilia, injini za mapendekezo na uchanganuzi wa video wa wakati halisi.

Kuongeza kasi ya Upakiaji wa Kazi wa AI na TensorRT

TensorRT huharakisha mzigo wa kujifunza kwa kina kwa kujumuisha uboreshaji wa usahihi kama vile INT8 na FP16. Miundo hii ya usahihi iliyopunguzwa huruhusu uelekezaji wa haraka zaidi huku ikidumisha usahihi. Hii ni muhimu sana katika programu za wakati halisi ambapo hali ya kusubiri ya chini ni hitaji muhimu.

INT8 na FP16 uboreshaji hufaa hasa katika:

  • Utiririshaji wa Video: Kazi za usindikaji wa video kulingana na AI, kama vile utambuzi wa kitu, hunufaika kutokana na uboreshaji huu kwa kupunguza muda unaochukuliwa kuchakata fremu.
  • Mifumo ya Mapendekezo: Kwa kuongeza kasi ya makisio kwa miundo inayochakata kiasi kikubwa cha data ya mtumiaji, TensorRT huwezesha ubinafsishaji wa wakati halisi kwa kiwango.
  • Utunzaji wa lugha ya asili (NLP): TensorRT huboresha kasi ya kazi za NLP kama vile kuunda maandishi, tafsiri na muhtasari, na kuzifanya zifae kwa programu za wakati halisi.

Tumia, Endesha, na Upime ukitumia NVIDIA Triton

Pindi tu muundo wako utakapoboreshwa kwa TensorRT-LLM, unaweza kuutumia, kuuendesha na kuuweka kwa urahisi kwa kutumia Seva ya Maelekezo ya NVIDIA Triton. Triton ni programu huria inayoauni utengamano unaobadilika, mikusanyiko ya miundo, na matokeo ya juu. Inatoa mazingira rahisi ya kudhibiti mifano ya AI kwa kiwango.

Baadhi ya vipengele muhimu ni pamoja na:

  • Utekelezaji wa Mfano wa Sanjari: Endesha miundo mingi kwa wakati mmoja, ukiongeza matumizi ya GPU.
  • Kuunganisha kwa Nguvu: Inachanganya maombi mengi ya uelekezaji katika kundi moja, kupunguza muda wa kusubiri na kuongeza matokeo.
  • Utiririshaji wa Ingizo za Sauti/Video: Inaauni mitiririko ya ingizo katika programu za wakati halisi, kama vile uchanganuzi wa video za moja kwa moja au huduma za hotuba hadi maandishi.

Hii inafanya Triton kuwa zana muhimu ya kupeleka miundo iliyoboreshwa ya TensorRT-LLM katika mazingira ya uzalishaji, kuhakikisha uboreshaji wa hali ya juu na ufanisi.

Vipengele vya Msingi vya TensorRT-LLM kwa Ufafanuzi wa LLM

Open Source Python API

TensorRT-LLM hutoa moduli ya hali ya juu na API ya chanzo-wazi cha Python, kurahisisha mchakato wa kufafanua, kuboresha, na kutekeleza LLM. API huwawezesha wasanidi programu kuunda LLM maalum au kurekebisha zilizoundwa awali ili kukidhi mahitaji yao, bila kuhitaji ujuzi wa kina wa CUDA au mifumo ya kujifunza kwa kina.

Kuunganisha Ndani ya Ndege na Umakini wa Ukurasa

Moja ya sifa kuu za TensorRT-LLM ni Batching Ndani ya Ndege, ambayo huboresha uzalishaji wa maandishi kwa kuchakata maombi mengi kwa wakati mmoja. Kipengele hiki hupunguza muda wa kusubiri na kuboresha matumizi ya GPU kwa mlolongo wa kubadilishana kwa nguvu.

Zaidi ya hayo, Usikivu wa Ukurasa huhakikisha kuwa utumiaji wa kumbukumbu unabaki chini hata wakati wa kuchakata mifuatano mirefu ya ingizo. Badala ya kugawa kumbukumbu zinazoambatana kwa ishara zote, umakini wa kurasa huvunja kumbukumbu katika "kurasa" ambazo zinaweza kutumika tena kwa nguvu, kuzuia kugawanyika kwa kumbukumbu na kuboresha ufanisi.

Uelekezaji wa Multi-GPU na Njia nyingi

Kwa miundo mikubwa au mizigo changamano zaidi, TensorRT-LLM inasaidia GPU nyingi na uelekezaji wa nodi nyingi. Uwezo huu unaruhusu usambazaji wa hesabu za modeli kwenye GPU au nodi kadhaa, kuboresha matokeo na kupunguza muda wa jumla wa marejeleo.

Msaada wa FP8

Pamoja na ujio wa FP8 (Sehemu 8-bit inayoelea), TensorRT-LLM hutumia H100 GPU za NVIDIA kubadilisha uzani wa muundo kuwa umbizo hili kwa makisio yaliyoboreshwa. FP8 huwezesha utumiaji wa kumbukumbu uliopunguzwa na ukokotoaji haraka, muhimu sana katika uwekaji wa viwango vikubwa.

Usanifu wa TensorRT-LLM na Vipengele

Kuelewa usanifu wa TensorRT-LLM itakusaidia kutumia vyema uwezo wake kwa uelekezaji wa LLM. Wacha tugawanye viungo kuu:

Ufafanuzi wa Mfano

TensorRT-LLM hukuruhusu kufafanua LLM kwa kutumia API rahisi ya Python. API inaunda a uwakilishi wa grafu ya mfano, na kuifanya iwe rahisi kudhibiti tabaka ngumu zinazohusika katika usanifu wa LLM kama GPT au BERT.

Vifungo vya Uzito

Kabla ya kuandaa mfano, uzani (au vigezo) lazima zimefungwa kwenye mtandao. Hatua hii inahakikisha kwamba uzani umepachikwa ndani ya injini ya TensorRT, ikiruhusu uelekezaji wa haraka na bora. TensorRT-LLM pia inaruhusu masasisho ya uzito baada ya kukusanywa, na kuongeza kubadilika kwa miundo inayohitaji masasisho ya mara kwa mara.

Ulinganishaji wa Muundo na Fusion

Operesheni Fusion ni kipengele kingine cha nguvu cha TensorRT-LLM. Kwa kuunganisha utendakazi nyingi (km, kuzidisha kwa matrix na vitendaji vya kuwezesha) kwenye kerneli moja ya CUDA, TensorRT inapunguza kichwa kinachohusishwa na uzinduzi wa kernel nyingi. Hii inapunguza uhamishaji wa kumbukumbu na kuharakisha uelekezaji.

Plugins

Ili kupanua uwezo wa TensorRT, wasanidi programu wanaweza kuandika Plugins-kokwa maalum ambazo hufanya kazi maalum kama vile kuboresha vizuizi vya usikivu wa vichwa vingi. Kwa mfano, Flash-Tahadhari programu-jalizi inaboresha kwa kiasi kikubwa utendaji wa tabaka za tahadhari za LLM.

Vigezo: Manufaa ya Utendaji ya TensorRT-LLM

TensorRT-LLM huonyesha mafanikio makubwa ya utendaji kwa uelekezaji wa LLM kwenye GPU mbalimbali. Hapa kuna ulinganisho wa kasi ya uelekezaji (inayopimwa kwa ishara kwa sekunde) kwa kutumia TensorRT-LLM kwenye GPU tofauti za NVIDIA:

ModelPrecisionIngizo/Urefu wa KutoaH100 (GB 80)A100 (GB 80)L40S FP8
GPTJ 6BFP8128/12834,95511,2066,998
GPTJ 6BFP82048/1282,8001,354747
LLaMA v2 7BFP8128/12816,98510,7256,121
LLaMA v3 8BFP8128/12816,70812,0858,273

Vigezo hivi vinaonyesha kuwa TensorRT-LLM hutoa maboresho makubwa katika utendakazi, haswa kwa mifuatano mirefu.

Imewashwa: Kusakinisha na Kujenga TensorRT-LLM

Hatua ya 1: Unda Mazingira ya Kontena

Kwa urahisi wa matumizi, TensorRT-LLM hutoa picha za Docker ili kuunda mazingira yaliyodhibitiwa ya kujenga na kuendesha modeli.

docker build --pull \
             --target devel \
             --file docker/Dockerfile.multi \
             --tag tensorrt_llm/devel:latest .

Hatua ya 2: Endesha Chombo

Endesha kontena la usanidi na ufikiaji wa NVIDIA GPU:

docker run --rm -it \
           --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --gpus=all \
           --volume ${PWD}:/code/tensorrt_llm \
           --workdir /code/tensorrt_llm \
           tensorrt_llm/devel:latest

Hatua ya 3: Jenga TensorRT-LLM kutoka Chanzo

Ndani ya kontena, kusanya TensorRT-LLM na amri ifuatayo:

python3 ./scripts/build_wheel.py --trt_root /usr/local/tensorrt
pip install ./build/tensorrt_llm*.whl

Chaguo hili ni muhimu sana unapotaka kuzuia maswala ya uoanifu yanayohusiana na utegemezi wa Python au unapozingatia ujumuishaji wa C++ katika mifumo ya uzalishaji. Mara tu ujenzi utakapokamilika, utapata maktaba zilizokusanywa za wakati wa kukimbia wa C++ kwenye faili ya cpp/build/tensorrt_llm saraka, tayari kwa kuunganishwa na programu zako za C++.

Hatua ya 4: Unganisha Muda wa TensorRT-LLM C++

Unapojumuisha TensorRT-LLM katika miradi yako ya C++, hakikisha kuwa mradi wako unajumuisha njia zinazoelekeza kwenye cpp/include saraka. Hii ina vichwa vya API vilivyo thabiti, vinavyotumika. Maktaba za TensorRT-LLM zimeunganishwa kama sehemu ya mchakato wako wa utungaji wa C++.

Kwa mfano, usanidi wa CMake wa mradi wako unaweza kujumuisha:

include_directories(${TENSORRT_LLM_PATH}/cpp/include)
link_directories(${TENSORRT_LLM_PATH}/cpp/build/tensorrt_llm)
target_link_libraries(your_project tensorrt_llm)

Ujumuishaji huu hukuruhusu kunufaika na uboreshaji wa TensorRT-LLM katika miradi yako maalum ya C++, kuhakikisha ufahamu unaofaa hata katika mazingira ya kiwango cha chini au utendakazi wa juu.

Vipengele vya Juu vya TensorRT-LLM

TensorRT-LLM ni zaidi ya maktaba ya uboreshaji tu; inajumuisha vipengele kadhaa vya kina vinavyosaidia kushughulikia matumizi makubwa ya LLM. Hapo chini, tunachunguza baadhi ya vipengele hivi kwa undani:

1. Batching Ndani ya Ndege

Ufungaji wa kitamaduni unahusisha kusubiri hadi kundi litakapokusanywa kikamilifu kabla ya kuchakatwa, jambo ambalo linaweza kusababisha ucheleweshaji. Batching Ndani ya Ndege hubadilisha hii kwa kuanza kwa nguvu uelekezaji wa maombi yaliyokamilishwa ndani ya kundi wakati bado inakusanya maombi mengine. Hii inaboresha uboreshaji wa jumla kwa kupunguza muda wa kutofanya kitu na kuimarisha matumizi ya GPU.

Kipengele hiki ni muhimu sana katika programu za wakati halisi, kama vile gumzo au visaidizi vya sauti, ambapo muda wa kujibu ni muhimu.

2. Usikivu wa Ukurasa

Usikivu wa Ukurasa ni mbinu ya uboreshaji kumbukumbu kwa kushughulikia mifuatano mikubwa ya ingizo. Badala ya kuhitaji kumbukumbu dhabiti kwa tokeni zote katika mlolongo (ambao unaweza kusababisha kugawanyika kwa kumbukumbu), Paged Attention huruhusu kielelezo kugawanya data ya akiba ya thamani ya ufunguo katika "kurasa" za kumbukumbu. Kurasa hizi zimegawiwa kwa nguvu na kuachiliwa kama inahitajika, kuboresha utumiaji wa kumbukumbu.

Uzingatiaji wa Ukurasa ni muhimu kwa kushughulikia urefu wa mfuatano mkubwa na kupunguza kichwa cha kumbukumbu, haswa katika miundo zalishaji kama GPT na LLaMA.

3. Programu-jalizi maalum

TensorRT-LLM hukuruhusu kupanua utendakazi wake na programu-jalizi maalum. Programu-jalizi ni viini vilivyobainishwa na mtumiaji vinavyowezesha uboreshaji mahususi au utendakazi ambao haujashughulikiwa na maktaba ya kawaida ya TensorRT.

Kwa mfano, Flash-Tahadhari programu-jalizi ni kerneli maalum inayojulikana ambayo huongeza tabaka za umakini wa vichwa vingi katika miundo inayotegemea Transfoma. Kwa kutumia programu-jalizi hii, wasanidi programu wanaweza kufikia kasi kubwa katika ukokotoaji wa umakini—mojawapo ya vipengele vinavyotumia rasilimali nyingi zaidi vya LLM.

Ili kujumuisha programu-jalizi maalum kwenye muundo wako wa TensorRT-LLM, unaweza kuandika kerneli maalum ya CUDA na kuisajili kwa TensorRT. Programu-jalizi itaalikwa wakati wa utekelezaji wa muundo, ikitoa maboresho ya utendakazi yaliyolengwa.

4. Usahihi wa FP8 kwenye NVIDIA H100

pamoja usahihi wa FP8, TensorRT-LLM inachukua fursa ya uvumbuzi wa hivi punde wa maunzi wa NVIDIA katika Usanifu wa H100 Hopper. FP8 inapunguza alama ya kumbukumbu ya LLMs kwa kuhifadhi uzani na uwezeshaji katika umbizo la sehemu 8-bit zinazoelea, na kusababisha ukokotoaji wa haraka bila kuacha usahihi mwingi. TensorRT-LLM hukusanya miundo kiotomatiki ili kutumia kokwa bora za FP8, na kuongeza kasi ya nyakati za makisio.

Hii inafanya TensorRT-LLM kuwa chaguo bora kwa utumaji wa kiwango kikubwa unaohitaji utendakazi wa hali ya juu na ufanisi wa nishati.

Mfano: Inapeleka TensorRT-LLM na Seva ya Uelekezaji ya Triton

Kwa usambazaji wa uzalishaji, NVIDIA's Seva ya Maelekezo ya Triton hutoa jukwaa thabiti la kudhibiti modeli kwa kiwango. Katika mfano huu, tutaonyesha jinsi ya kupeleka muundo ulioboreshwa wa TensorRT-LLM kwa kutumia Triton.

Hatua ya 1: Sanidi Hifadhi ya Mfano

Unda hazina ya mfano ya Triton, ambayo itahifadhi faili zako za muundo wa TensorRT-LLM. Kwa mfano, ikiwa umeunda mfano wa GPT2, muundo wa saraka yako unaweza kuonekana kama hii:

mkdir -p model_repository/gpt2/1
cp ./trt_engine/gpt2_fp16.engine model_repository/gpt2/1/

Hatua ya 2: Unda Faili ya Usanidi wa Triton

katika moja model_repository/gpt2/ directory, tengeneza faili ya usanidi inayoitwa config.pbtxt hiyo inamwambia Triton jinsi ya kupakia na kuendesha mfano. Hapa kuna usanidi wa kimsingi wa TensorRT-LLM:

name: "gpt2"
platform: "tensorrt_llm"
max_batch_size: 8
input [
  {
    name: "input_ids"
    data_type: TYPE_INT32
    dims: [-1]
  }
]
output [
  {
    name: "logits"
    data_type: TYPE_FP32
    dims: [-1, -1]
  }
]

Hatua ya 3: Zindua Seva ya Triton

Tumia amri ifuatayo ya Docker kuzindua Triton na hazina ya mfano:

docker run --rm --gpus all \
    -v $(pwd)/model_repository:/models \
    nvcr.io/nvidia/tritonserver:23.05-py3 \
    tritonserver --model-repository=/models

Hatua ya 4: Tuma Maombi ya Maelekezo kwa Triton

Mara seva ya Triton inapofanya kazi, unaweza kutuma maombi ya uelekezaji kwake kwa kutumia HTTP au gRPC. Kwa mfano, kutumia curl kutuma ombi:

curl -X POST http://localhost:8000/v2/models/gpt2/infer -d '{
  "inputs": [
    {"name": "input_ids", "shape": [1, 128], "datatype": "INT32", "data": [[101, 234, 1243]]}
  ]
}'

Triton itashughulikia ombi kwa kutumia injini ya TensorRT-LLM na kurudisha kumbukumbu kama matokeo.

Mbinu Bora za Kuboresha Maoni ya LLM na TensorRT-LLM

Ili kutumia kikamilifu uwezo wa TensorRT-LLM, ni muhimu kufuata mbinu bora wakati wa uboreshaji wa muundo na utumiaji. Hapa kuna vidokezo muhimu:

1. Wasifu Kielelezo chako Kabla ya Uboreshaji

Kabla ya kutumia uboreshaji kama vile quantization au kernel fusion, tumia zana za kuorodhesha za NVIDIA (kama vile Nsight Systems au TensorRT Profiler) ili kuelewa vikwazo vya sasa katika utekelezaji wa muundo wako. Hii hukuruhusu kulenga maeneo mahususi ya uboreshaji, na hivyo kusababisha uboreshaji bora zaidi.

2. Tumia Usahihi Mseto kwa Utendaji Bora

Wakati wa kuboresha miundo na TensorRT-LLM, kwa kutumia usahihi mchanganyiko (mchanganyiko wa FP16 na FP32) hutoa kasi kubwa bila hasara kubwa katika usahihi. Kwa usawa bora kati ya kasi na usahihi, zingatia kutumia FP8 inapopatikana, hasa kwenye H100 GPU.

3. Ongeza Umakini wa Ukurasa kwa Mifuatano Mikubwa

Kwa kazi zinazohusisha mifuatano mirefu ya ingizo, kama vile muhtasari wa hati au mazungumzo ya zamu nyingi, washa kila wakati. Usikivu wa Ukurasa ili kuboresha utumiaji wa kumbukumbu. Hii inapunguza juu ya kumbukumbu na kuzuia makosa ya nje ya kumbukumbu wakati wa makisio.

4. Sambaza Usambamba kwa Mipangilio ya Multi-GPU

Wakati wa kupeleka LLM kwenye GPU nyingi au nodi, ni muhimu kurekebisha mipangilio ya usawa wa tensor na usawa wa bomba ili kuendana na mzigo wako maalum wa kazi. Kusanidi ipasavyo hali hizi kunaweza kusababisha uboreshaji mkubwa wa utendakazi kwa kusambaza mzigo wa hesabu kwa usawa kwenye GPU.

Hitimisho

TensorRT-LLM inawakilisha mabadiliko ya kielelezo katika kuboresha na kupeleka miundo mikubwa ya lugha. Ikiwa na vipengele vyake vya juu kama vile ujanibishaji, uunganishaji wa operesheni, usahihi wa FP8, na usaidizi wa GPU nyingi, TensorRT-LLM huwezesha LLM kufanya kazi haraka na kwa ufanisi zaidi kwenye NVIDIA GPU. Iwe unafanyia kazi programu za gumzo la wakati halisi, mifumo ya mapendekezo, au miundo mikubwa ya lugha, TensorRT-LLM hutoa zana zinazohitajika ili kusukuma mipaka ya utendakazi.

Mwongozo huu ulikusaidia kusanidi TensorRT-LLM, kuboresha miundo na API yake ya Python, kusambaza kwenye Seva ya Uelekezaji ya Triton, na kutumia mbinu bora za uelekezaji bora. Ukiwa na TensorRT-LLM, unaweza kuharakisha upakiaji wako wa kazi wa AI, kupunguza muda wa kusubiri, na kutoa suluhu za LLM zinazoweza kusambazwa kwa mazingira ya uzalishaji.

Kwa habari zaidi, rejelea afisa Nyaraka za TensorRT-LLM na Nyaraka za Seva ya Inference ya Triton.

Nimetumia miaka mitano iliyopita kujitumbukiza katika ulimwengu wa kuvutia wa Kujifunza kwa Mashine na Kujifunza kwa Kina. Shauku yangu na utaalam umeniongoza kuchangia zaidi ya miradi 50 ya uhandisi wa programu tofauti, nikizingatia haswa AI/ML. Udadisi wangu unaoendelea pia umenivutia kuelekea Uchakataji wa Lugha Asilia, uwanja ambao nina hamu ya kuchunguza zaidi.