PageSourceSearch

https://ml.institute/_next/static/chunks/pages/learn-36b4676bd01ad3e2.js

js ml.institute collected 2026-10-04 23:42:43 UTC 41,907 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[128],{2036:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/learn",function(){return i(1685)}])},3308:function(e,t,i){"use strict";i.d(t,{Z:function(){return p}});var n=i(5893),o=i(7294),r=i(9521),a=i(1664),s=i.n(a),d=i(2590),c=i(7450),l=i(6363);function p(e){let t=[{question:"Who's this programme designed for?",answer:"Our programme is for software engineers and academics who want to learn industry leading machine learning techniques."},{question:"What are the prerequisites or required background for joining the programme?",answer:"We look for technical experience, problem-solving ability, curiosity, diligence and a passion for learning. Positive attitude and being good to work with helps too."},{question:"What is the format and schedule of the programme?",answer:"Our programs are full-time and in-person. Bootcamps run Monday through Friday, 9 am to 6 pm."},{question:"How is the programme content delivered?",answer:"Content is delivered through a mix of lectures, hands-on projects, and peer discussions."},{question:"What are the different programme options available?",answer:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("strong",{children:"Bootcamps:"})," Intensive 8-week in-person programmes focusing on Deep Learning System Design or Data Engineering."]}),(0,n.jsx)("br",{}),(0,n.jsxs)("span",{children:[(0,n.jsx)("strong",{children:"Deep Learning Apprenticeship:"})," An 18-month hybrid program combining bootcamps with ongoing training, ideal for those already employed and seeking employer sponsorship."]})]})},{question:"What makes our programme different",answer:"Our programme stands out by offering full-time in-person training. Learners gain practical experience under the guidance of industry experts and work on cutting-edge AI projects."},{question:"How do I get in touch?",answer:(0,n.jsxs)("span",{children:["Email ",(0,n.jsx)("a",{href:"mailto:[email protected]",children:"[email protected]"})]})},{question:"Who is eligible for the apprenticeship government funding?",answer:(0,n.jsxs)("span",{children:["If you are a UK citizen, you are eligible for funding if you have been an ordinarily resident in the UK or Europe for the last three years. If you are not a UK citizen, you are eligible if you have lived in the UK continuously for the last three years. You are eligible for funding if you are a refugee or have asylum status. There are several other ways you might be eligible. View the  ",(0,n.jsx)("a",{href:"https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/1130011/2223_Provider_Rules_Version_2_Final_Updated180122.pdf",target:"_blank",rel:"noreferrer",children:" full eligibility criteria"}),". If you have any questions about your eligibility, please email us at ",(0,n.jsx)(s(),{href:"mailto:[email protected]",children:"[email protected]"}),"."]})}];return e.showAll||(t=t.slice(0,4)),(0,n.jsxs)(m.Container,{children:[!e.hideHeading&&(0,n.jsx)(m.H2,{children:"FAQs"}),(0,n.jsx)(m.Steps,{children:t.map((e,t)=>(0,o.createElement)(h,{...e,key:e.question,id:"faq-".concat(t+1)}))}),!e.hideButton&&(0,n.jsx)(m.Button,{primary:!0,href:"/faq",children:"View all FAQs"})]})}function h(e){let t=o.useRef(null),[i,r]=o.useState(!1),[a,s]=o.useState(0);return o.useEffect(()=>{s(t.current.offsetHeight)},[t]),(0,n.jsxs)(m.Step,{isOpen:i,children:[(0,n.jsxs)(m.Wrapper,{onClick:()=>r(!i),"aria-expanded":i.toString(),"aria-controls":"step-description-".concat(e.id),children:[(0,n.jsx)(m.P,{children:e.question}),(0,n.jsx)(m.ChevronDown,{isOpen:i})]}),(0,n.jsx)(m.DropDown,{isOpen:i,height:a,id:"step-description-".concat(e.id),"aria-hidden":!i,children:(0,n.jsx)(m.Description,{ref:t,children:e.answer})})]},JSON.stringify(e.question))}let m={};m.Container=r.ZP.div.withConfig({componentId:"sc-a0544f9f-0"})(["margin:"," auto;max-width:95%;width:100%;@media (min-width:1200px){max-width:",";width:100%;}"],e=>e.theme.spaceNine,e=>e.theme.marginsBreakout),m.H2=(0,r.ZP)(c.Z.H2).withConfig({componentId:"sc-a0544f9f-1"})(["margin-bottom:28px;"]),m.Steps=r.ZP.div.withConfig({componentId:"sc-a0544f9f-2"})(["display:flex;flex-direction:column;"]),m.Step=r.ZP.div.withConfig({componentId:"sc-a0544f9f-3"})(["margin:auto;border-bottom:1px solid ",";width:100%;&:first-of-type{border-top:1px solid ",";}"],e=>e.theme.colorGrayExtraLight,e=>e.theme.colorGrayExtraLight),m.Wrapper=r.ZP.button.withConfig({componentId:"sc-a0544f9f-4"})(["display:flex;flex-direction:row;align-items:center;justify-content:space-between;cursor:pointer;background:white;padding:"," 0;border:none;background-color:transparent;width:100%;&:hover{*{text-decoration:underline;}}"],e=>e.theme.spaceFive),m.DropDown=r.ZP.div.withConfig({componentId:"sc-a0544f9f-5"}
1)(["height:",";overflow:hidden;transition:height 0.5s ease;width:100%;"],e=>{let{isOpen:t,height:i}=e;return t?i+"px":"0px"}),m.P=(0,r.ZP)(c.Z.P).withConfig({componentId:"sc-a0544f9f-6"})(["color:",";"],e=>e.theme.colorPrimary),m.Description=(0,r.ZP)(c.Z.P).withConfig({componentId:"sc-a0544f9f-7"})(["padding:0 0 "," 0;"],e=>e.theme.spaceFive),m.ChevronDown=(0,r.ZP)(d._M).withConfig({componentId:"sc-a0544f9f-8"})(["height:33px;width:33px;color:",";transform:",";"],e=>e.theme.colorPrimary,e=>{let{isOpen:t}=e;return t?"rotate(180deg)":"rotate(0deg)"}),m.Button=(0,r.ZP)(l.Z).withConfig({componentId:"sc-a0544f9f-9"})(["margin-top:30px;"])},755:function(e,t,i){"use strict";i.d(t,{Z:function(){return h}});var n=i(5893),o=i(7294),r=i(9521),a=i(7450),s=i(6363),d=i(2590),c=i(5404),l=i(1229),p=i(4477);function h(e){let t=(0,p.Z)()?l.Z:m;return(0,n.jsxs)(g.Section,{children:[(0,n.jsx)(g.StaffGrid,{children:c.slice(0,8).map((e,i)=>(0,n.jsx)(t,{...e},i))}),!e.hideButton&&(0,n.jsx)(g.Button,{primary:!0,href:"/reviews",children:"Read More Reviews"})]})}function m(e,t){let[i,r]=o.useState(!1);return(0,n.jsxs)(g.CardContainer,{children:[(0,n.jsxs)(g.Card,{children:[(0,n.jsx)(g.ImageContainer,{children:(0,n.jsx)(g.Image,{src:e.img,alt:e.name})}),(0,n.jsxs)(g.TextContainer,{children:[(0,n.jsxs)(g.A,{href:e.linkedIn,target:"_blank",rel:"noopener noreferrer",children:[(0,n.jsx)(g.IP5,{children:e.name}),(0,n.jsxs)(g.LinkedInContainer,{children:[(0,n.jsx)(g.Linkedin,{}),(0,n.jsx)(g.IX6,{children:e.jobTitle})]})]}),i?e.review.map((e,t)=>(0,n.jsx)(g.IX3,{children:e},t)).concat((0,n.jsx)(g.IX3,{onClick:()=>r(!i),children:(0,n.jsx)(g.Span,{children:"Read less"})})):(0,n.jsxs)(g.IX3,{children:[e.shortSummmary,(0,n.jsx)(g.Span,{onClick:()=>r(!i),children:" Read more"})]})]})]},t),(0,n.jsx)(g.Line,{})]})}let g={};g.Section=r.ZP.section.withConfig({componentId:"sc-41ca3b69-0"})(["width:100%;@media (max-width:1100px){margin-bottom:25px;}"]),g.StaffGrid=r.ZP.div.withConfig({componentId:"sc-41ca3b69-1"})(["display:grid;grid-template-columns:1fr 1fr;gap:",";max-width:",";margin:auto;width:95%;@media (min-width:","){margin-bottom:",";width:90%;}@media (max-width:1000px){grid-template-columns:1fr;}@media (max-width:768px){gap:10px;}"],e=>e.theme.spaceSix,e=>e.theme.marginsMain,e=>{let{theme:t}=e;return t.screenWidthTablet},e=>{let{theme:t}=e;return t.spaceNine}),g.Button=(0,r.ZP)(s.Z).withConfig({componentId:"sc-41ca3b69-2"})(["margin:0 auto;margin-top:",";"],e=>e.theme.spaceEight),g.CardContainer=r.ZP.div.withConfig({componentId:"sc-41ca3b69-3"})(["display:flex;flex-direction:column;"]),g.Card=r.ZP.div.withConfig({componentId:"sc-41ca3b69-4"})(["display:flex;flex-direction:row;position:relative;@media (max-width:500px){flex-direction:column;}"]),g.ImageContainer=r.ZP.div.withConfig({componentId:"sc-41ca3b69-5"})(["position:relative;flex-shrink:0;width:200px;height:200px;border-radius:6px;display:flex;margin-right:25px;"]),g.Image=r.ZP.img.withConfig({componentId:"sc-41ca3b69-6"})(["width:200px;height:200px;object-fit:cover;border-radius:6px;"]),g.TextContainer=r.ZP.div.withConfig({componentId:"sc-41ca3b69-7"})(["display:flex;flex-direction:column;"]),g.IP5=(0,r.ZP)(a.Z.P).withConfig({componentId:"sc-41ca3b69-8"})(["margin-bottom:4px;color:black;font-weight:500;font-size:20px;"]),g.LinkedInContainer=r.ZP.div.withConfig({componentId:"sc-41ca3b69-9"})(["display:flex;flex-direction:row;align-items:center;margin-bottom:6px;"]),g.Linkedin=(0,r.ZP)(d.n6).withConfig({componentId:"sc-41ca3b69-10"})(["margin-right:6px;fill:#0072b1;"]),g.IX6=(0,r.ZP)(a.Z.P).withConfig({componentId:"sc-41ca3b69-11"})(["color:#0072b1;"]),g.IX3=(0,r.ZP)(a.Z.P).withConfig({componentId:"sc-41ca3b69-12"})(["line-height:22px;margin-bottom:10px;font-size:16px;"]),g.Span=r.ZP.span.withConfig({componentId:"sc-41ca3b69-13"})(["cursor:pointer;color:#0072b1;"]),g.IX5=(0,r.ZP)(a.Z.P).withConfig({componentId:"sc-41ca3b69-14"})(["cursor:pointer;margin-top:10px;color:#0072b1;"]),g.A=r.ZP.a.withConfig({componentId:"sc-41ca3b69-15"})(["text-decoration:none;margin-bottom:6px;"]),g.Line=r.ZP.div.withConfig({componentId:"sc-41ca3b69-16"})(["width:100%;height:1px;background-color:#e0e0e0;&:last-of-type{display:none;}"])},1041:function(e,t,i){"use strict";i.d(t,{Z:function(){return s}});var n=i(5893),o=i(9521);i(1664);var r=i(7450),a=i(6363);function s(e){var t;return(0,n.jsxs)(d.Container,{children:[(0,n.jsx)(d.H2,{children:e.title}),Array.isArray(t=e.text)?t.map((e,t)=>(0,n.jsx)(d.P,{children:e},t)):e.children,e.buttonText&&(0,n.jsx)(d.Button,{primary:!0,href:e.buttonLink,children:e.buttonText})]})}let d={};d.Container=o.ZP.div.withConfig({componentId:"sc-ea57db46-0"})(["max-width:95%;margin:"," auto;@media (min-width:","){margin:"," auto;}@media (min-width:","){max-width:",";}"],e=>e.theme.spaceEight,e=>e.theme.screenWidthMobile,e=>e.theme.spaceNine,e=>e.theme.screenWidthTablet,e=>e.theme.marginsBody),d.H2=(0,o.ZP)(r.Z.H2).withConfig({componentId:"sc-ea57db46-1"})(["margin-bottom:",";"],e=>e.theme.spaceFive),d.P=(0,o.ZP)(r.Z.P).withConfig({componentId:"sc-ea57db46-2"})(["margin-bottom:",";&:last-of-type{margin-bottom:0;}"],e=>e.theme.spaceFour),d.Button=(0,o.ZP)(a.Z).withConfig({componentId:"sc-ea57db46-3"})(["margin-top:",";"],e=>e.theme.spaceSix)},1685:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return eh}});var n=i(5893),o=i(9521);i(1664);var r=i(9008),a=i.n(r),s=i(5568),d=i(1041),c=i(755),l=i(7294),p=i(2590),h=i(7450);function m(e){let t=e.employer?[{title:"Set up a call with us",description:"We want to understand what you as a business want to get out of the training and ensure that we are a good fit for your business."},{title:"Let us know who you want to attend the training",description:"Send us a list of people you want to send to the training with their contact details and LinkedIn."},{title:"Interview",description:"We will set up an interview with your employees. If accepted onto the programme, we will give them a place on the next available programme provisional on their completing the pre-course material."},{title:"Complete our pre-course material",description:"The pre-course will take varying amounts of time relative to your employee's prior experience and studiousness. Your employee won't be able to start the full-time programme until they have completed the material for the pre-course."}]:[{title:"Submit your application form",description:"Share some basic information with us. If we think you could be a good fit, we'll send out information with next steps."},{title:"Complete a personal project",description:"Complete a project in our stack. Once you have completed your project, share it with us and we will review it. If you pass this review, you will be invited to our technical interview."},{title:"Technical interview",description:"During the technical interview, we will ensure you are ready for the start of the programme. The interview will be conducted by a member of our team and will last from 45 minutes to an hour."}];return(0,n.jsxs)(u.Container,{children:[(0,n.jsx)(u.H2,{children:"Application process"}),(0,n.jsx)(u.Steps,{children:t.map((e,t)=>(0,l.createElement)(g,{...e,key:JSON.stringify(e),id:"application-step-".concat(t+1)}))})]})}function g(e){let t=l.useRef(null),[i,o]=l.useState(!1),[r,a]=l.useState(0);return l.useEffect(()=>{setTimeout(()=>{a(t.current.offsetHeight)},100)},[]),(0,n.jsxs)(u.Step,{isOpen:i,children:[(0,n.jsxs)(u.Wrapper,{onClick:()=>o(!i),"aria-expanded":i?"true":"false","aria-controls":"step-description-".concat(e.id),children:[(0,n.jsx)(u.P,{children:e.title}),(0,n.jsx)(u.ChevronDown,{isOpen:i})]}),(0,n.jsx)(u.DropDown,{isOpen:i,height:r,id:"step-description-".concat(e.id),"aria-hidden":!i,children:(0,n.jsx)(u.Description,{ref:t,children:e.description})})]})}let u={};u.Container=o.ZP.div.withConfig({componentId:"sc-7645a1cf-0"})(["margin:"," auto;max-width:95%;width:100%;@media (min-width:","){width:95%;max-width:",";}"],e=>e.theme.spaceNine,e=>e.theme.screenWidthTablet,e=>e.theme.marginsBreakout),u.H2=(0,o.ZP)(h.Z.H2).withConfig({componentId:"sc-7645a1cf-1"})(["margin-bottom:",";text-align:center;"],e=>e.theme.spaceSeven),u.Steps=o.ZP.div.withConfig({componentId:"sc-7645a1cf-2"})(["display:flex;flex-direction:column;"]),u.Step=o.ZP.div.withConfig({componentId:"sc-7645a1cf-3"})(["margin:auto;margin-bottom:",";border:1px solid ",";border-radius:",";width:100%;"],e=>e.theme.spaceFive,e=>e.theme.colorGreyLight,e=>e.theme.borderRadius),u.Wrapper=o.ZP.button.withConfig({componentId:"sc-7645a1cf-4"})(["display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:",";cursor:pointer;width:100%;background-color:transparent;border:none;&:hover{*{text-decoration:underline;}}"],e=>e.theme.spaceFive),u.DropDown=o.ZP.div.withConfig({componentId:"sc-7645a1cf-5"}
1)(["height:",";overflow:hidden;transition:height 0.5s ease;width:100%;"],e=>{let{isOpen:t,height:i}=e;return t?i+"px":"0px"}),u.Description=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-7645a1cf-6"})(["padding:",";padding-top:0;"],e=>e.theme.spaceFive),u.P=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-7645a1cf-7"})(["color:",";"],e=>e.theme.colorPrimary),u.ChevronDown=(0,o.ZP)(p._M).withConfig({componentId:"sc-7645a1cf-8"})(["height:33px;width:33px;color:",";transform:",";"],e=>e.theme.colorPrimary,e=>{let{isOpen:t}=e;return t?"rotate(180deg)":"rotate(0deg)"});var f=i(3308);let x={AIRFLOW:"/assets/tools/airflow.png",COMPOSE:"/assets/tools/compose.png",DOCKER:"/assets/tools/docker.png",FASTAPI:"/assets/tools/fastapi.png",JUPYTER:"/assets/tools/jupyter.png",K8S:"/assets/tools/k8s.png",KAFKA:"/assets/tools/kafka.png",PLOT:"/assets/tools/plot.png",POSTGRES:"/assets/tools/postgres.png",PYTHON:"/assets/tools/python.png",SPARK:"/assets/tools/spark.png",SYSTEMD:"/assets/tools/systemd.png",TORCH:"/assets/tools/torch.png",UBUNTU:"/assets/tools/ubuntu.png"};function w(e){var t,i;return(0,n.jsxs)(b.Container,{children:[(0,n.jsx)(h.Z.P,{children:"What you will build in practice:"}),(0,n.jsx)("div",{style:{height:"20px"}}),(0,n.jsx)(b.UL,{children:null===(t=e.lista)||void 0===t?void 0:t.map(function(e,t){return(0,n.jsx)(b.ListItem,{children:(0,n.jsx)(h.Z.P,{children:e})},t)})}),(0,n.jsx)("div",{style:{height:"30px"}}),(0,n.jsx)(h.Z.P,{children:"Tools and libraries you will use:"}),(0,n.jsx)("div",{style:{height:"25px"}}),(0,n.jsx)(b.TechItemsContainer,{children:null===(i=e.tools)||void 0===i?void 0:i.map(function(e){return(0,n.jsx)(b.TechItemInner,{children:(0,n.jsx)(b.Img,{src:x[e],alt:e})},e)})})]})}let b={};function v(e){return(0,n.jsxs)(y.ImageContainer,{children:[(0,n.jsx)(y.IG5,{children:e.text}),(0,n.jsx)(y.Img,{src:e.svg})]})}b.Container=o.ZP.div.withConfig({componentId:"sc-8379da18-0"})(["padding:25px;border:1px solid rgb(237,239,244);border-radius:6px;"]),b.UL=o.ZP.ul.withConfig({componentId:"sc-8379da18-1"})(["list-style-type:none;padding-left:0;"]),b.ListItem=o.ZP.li.withConfig({componentId:"sc-8379da18-2"})(['display:flex;align-items:flex-start;justify-content:flex-start;position:relative;padding-left:30px;margin-bottom:10px;p{font-size:16px;line-height:26px;margin-bottom:0;margin-top:0;&:first-of-type{margin-top:0;}}@media (max-width:768px){p{font-size:14px;}}&::before{content:\'\';position:absolute;left:0;top:3px;transform:translateY(0);width:18px;height:18px;background-image:url(\'data:image/svg+xml;utf8,<svg width="18" height="18" stroke="rgb(76, 175, 80)" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" d="M4 9L7.66667 13L15 5"/></svg>\');background-size:contain;background-repeat:no-repeat;}']),b.TechItemsContainer=o.ZP.div.withConfig({componentId:"sc-8379da18-3"})(["display:grid;grid-template-columns:repeat(auto-fill,105px);gap:10px;justify-content:space-between;@media (max-width:768px){grid-template-columns:repeat(auto-fill,90px);}"]),b.TechItemInner=o.ZP.div.withConfig({componentId:"sc-8379da18-4"})(["height:auto;margin-bottom:-5px;"]),b.Img=o.ZP.img.withConfig({componentId:"sc-8379da18-5"})(["width:100%;height:auto;"]);let y={};function P(e){return(0,n.jsx)(C.IL4,{children:e.children})}y.ImageContainer=o.ZP.div.withConfig({componentId:"sc-3f76ddbb-0"})(["width:100%;height:200px;background-color:#f5f5f5;border-radius:6px;display:grid;padding:24px;display:flex;align-items:center;justify-content:center;margin-bottom:45px;@media (max-width:700px){display:flex;flex-direction:column;height:fit-content;margin-bottom:25px;width:100%;}"]),y.IG5=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-3f76ddbb-1"})(["font-size:38px;margin-right:20px;@media (max-width:1100px){font-size:28px;}@media (max-width:700px){font-size:22px;margin-bottom:15px;}"]),y.Img=o.ZP.img.withConfig({componentId:"sc-3f76ddbb-2"})(["width:fit-content;max-width:100%;margin-left:auto;max-height:152px;@media (max-width:1100px){max-height:120px;}@media (max-width:700px){max-height:100px;margin:auto;}"]);let C={};C.IL4=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-ba30e6-0"})(["max-width:650px;font-size:16px;line-height:26px;margin-bottom:20px;&:last-of-type{margin-bottom:45px;}@media (max-width:840px){&:first-of-type{margin-top:25px;}&:last-of-type{margin-bottom:25px;}}@media (max-width:768px){p{font-size:14px;}}"]);let I=["Our programme is structured into a series of weekly projects, each focu
1sing on practical applications of advanced machine learning techniques, ranging from predicting upvotes on Hacker News to building object detection models for sports analytics. Participants will engage with a variety of tasks, including text generation with Transformers, search and retrieval with Two-Tower Neural Networks, and image captioning using multi-modal models.","The course covers data engineering, MLOps and deep learning and dives into key neural network architectures and methodologies such as Word2Vec, Two-Tower Neural Networks for search, and Vision Transformers (ViT) for image captioning. Participants will gain hands-on experience with complex models like YOLO for object detection and Transformer models, emphasising components like multi-head attention and custom loss functions such as those adapted for circular bounding boxes.","Throughout the course, the use of GPUs for training and inference is emphasised, alongside efficient deployment practices using Docker, Kubernetes, and Streamlit. Participants will explore Parameter Efficient Fine-Tuning (PEFT) techniques such as Low-Rank Adaptation (LoRA) and soft prompting, designed to reduce computational costs while maintaining performance, especially in large language models (LLMs). Attention to deployment considerations, including mixed-precision training and distributed data parallelism, will equip participants with the knowledge to scale models effectively in real-world environments."],j=["Predictive model for Hacker News upvotes using word embeddings","Document retrieval system with Two-Tower Neural Networks","Object detection model with custom circular bounding regions","Transformer model for generating tiny stories","Multi-modal model for image captioning with Vision Transformers","Fine-tuned large language model using LoRA and soft prompting techniques"],k=["TORCH","POSTGRES","DOCKER","PYTHON","FASTAPI","PLOT","COMPOSE","AIRFLOW","JUPYTER","K8S","KAFKA","SPARK","SYSTEMD","UBUNTU"],T={};T.Container=o.ZP.div.withConfig({componentId:"sc-a91fdd56-0"})([""]),T.Img=o.ZP.img.withConfig({componentId:"sc-a91fdd56-1"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;margin:45px 0;"]);let Z=["The first project will focus on predicting upvotes for Hacker News posts. The primary goal is to build predictive models by leveraging domain-specific word embeddings trained on English Wikipedia and fine-tuned from Hacker News titles. This project combines the practical aspects of machine learning with aspects of exploratory data analysis (EDA). The dataset contains over 12 million Hacker News posts. Through this approach you will gain hands-on experience with data preparation, feature extraction, and the iterative process of model tuning.","To support the technical objectives, we will explore two fundamental architectures for word embedding: Continuous Bag of Words (CBOW) and 
1Skip-gram, both of which are foundational techniques in the Word2Vec framework. To effectively incorporate both author and website features into the predictive models, fusion architectures such as Early Fusion and Late Fusion will be explored.","For deployment and scaling, we will introduce simple DevOps practices such as containerization with Docker, enabling reproducible environments and easy integration into larger workflows. Additionally, tools like PyTorch and GPUs will be employed for model training and experimentation."],S=["Text Preprocessing Pipeline","Custom Word Embeddings for Hacker News","Exploratory data analysis using SQL, Pandas and Python","Predictive Model for upvotes using fusion architectures","Model Deployment with Docker and FastAPI"],A=["TORCH","DOCKER","PYTHON","SYSTEMD","FASTAPI","JUPYTER"],O={};O.Container=o.ZP.div.withConfig({componentId:"sc-d5b5e01c-0"})([""]),O.ImageContainer=o.ZP.div.withConfig({componentId:"sc-d5b5e01c-1"})(["width:100%;height:250px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),O.Img=o.ZP.img.withConfig({componentId:"sc-d5b5e01c-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]),O.IL4=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-d5b5e01c-3"})(["max-width:680px;"]);let E=["In Week 2, we will cover an essential architecture widely used in search and recommendation systems, the Two-Tower Neural Network. Specifically we will build a document retrieval system. We will explore the core concepts behind these networks, particularly their ability to encode and compare user queries and documents in a high-dimensional space, allowing for accurate information retrieval. This project will provide a hands-on approach to understanding how deep learning can be leveraged to build search capabilities in the real-world.","The Two-Tower Neural Network consists of two parallel neural network architectures (towers), one for processing the query and the other for processing documents or items. Each tower independently learns embeddings that represent queries and documents in a shared vector space, enabling fast similarity computations. The two embeddings are then combined using a scoring function - typically a dot product or cosine similarity - to determine the relevance of each document to the query. There are various architectural variations, such as using deep or shallow networks for each tower. Optimization strategies include negative sampling and contrastive learning.","To integrate these models into a production environment, we will utilise containerization and orchestration tools such as Docker and Docker Compose. Although not for production, we will use these tools for deployment. We will also explore data engineering techniques to preprocess and pipeline data."],W=["TTNN architecture for matching queries and documents","Embedding space for representing both queries and documents","Scoring mechanism to rank documents","Docker compose for model training and deployment","Data pipeline for real-time data ingestion"],R=["POSTGRES","DOCKER","PYTHON","FASTAPI","PLOT","COMPOSE"],D={};D.Container=o.ZP.div.withConfig({componentId:"sc-7db0264-0"})([""]),D.ImageContainer=o.ZP.div.withConfig({componentId:"sc-7db0264-1"})(["width:100%;height:250px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),D.Img=o.ZP.img.withConfig({componentId:"sc-7db0264-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let L={};L.Container=o.ZP.div.withConfig({componentId:"sc-55bc1932-0"})(["svg text{font-family:inherit;font-size:inherit;}"]),L.ImageContainer=o.ZP.div.withConfig({componentId:"sc-55bc1932-1"})(["width:100%;height:200px;background-color:#f5f5f5;border-radius:6px;display:grid;padding:24px;display:flex;align-items:center;justify-content:center;margin-bottom:45px;@media (max-width:700px){display:flex;flex-direction:column;height:fit-content;margin-bottom:25px;}"]),L.ImageWrapper=o.ZP.div.withConfig({componentId:"sc-55bc1932-2"})(["display:flex;"]),L.IG5=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-55bc1932-3"})(["font-size:38px;margin-right:20px;flex:1;@media (max-width:1100px){font-size:28px;}@media (max-width:700px){font-size:22px;margin-bottom:15px;}"]),L.ImageWrapper=o.ZP.div.withConfig({componentId:"sc-55bc1932-4"})(["margin-left:auto;overflow:hidden;max-height:152px;height:100%;max-width:100%;display:flex;align-items:center;justify-content:center;@media (max-width:980px){max-height:130px;height:130px;margin:auto;}@media (max-width:700px){max-height:100px;height:100px;margin:auto;}"]),L.ImgPitch=o.ZP.img.withConfig({componentId:"sc-55bc1932-5"})(["opacity:0.4;max-height:100%;max-width:100%;object-fit:contain;margin-right:3px;"]),L.ImgNum=o.ZP.img.withConfig({componentId:"sc-55bc1932-6"})(["max-height:80%;max-width:100%;object-fit:contain;*{font-family:'Inter';}"]);let F=["This week's project focuses on constructing a Transformer model from the ground up and training it on a dataset of short, narrative texts.You will learn the intricacies of Transformer architectures, including BERT and GPT, which are pivotal in NLP tasks.The goal is to understand and implement the model's components, emphasising the encoder - decoder structure, multi - head attention, and positional encodings.","The Transformer architecture introduced by Vaswani et al. in 2017 marked a significant departure from recurrent models, utilising self
1-attention mechanisms that allow the model to weigh input elements differentially. We'll explore this model's architecture, detailing its attention mechanism, feed-forward layers, and the use of layer normalisation and residual connections. Key concepts such as masked language modelling, next token prediction, and the cross-entropy loss function will be discussed. We'll also touch on the historical evolution from attention mechanisms in sequence models to their dominance in state - of - the - art models for both language understanding and generation.","Given the computational intensity of Transformers, we'll leverage GPU acceleration for efficient training.Topics will include considerations for data parallelism, mixed - precision training to optimise memory and speed.We will also discuss strategies for hyperparameter tuning, including learning rate schedules and batch size adjustments."],N=["Write a Transformer with encoder and decoder components","Implement multi-head self-attention and positional encodings","Train the model on a custom dataset of short stories using cross-entropy loss","Optimise training with GPU acceleration and mixed-precision training","Deploy the trained model for inference on new text data"],_=["PLOT","JUPYTER","TORCH","DOCKER","FASTAPI"],q={};q.Container=o.ZP.div.withConfig({componentId:"sc-887e264d-0"})([""]),q.ImageContainer=o.ZP.div.withConfig({componentId:"sc-887e264d-1"})(["width:100%;height:210px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),q.Img=o.ZP.img.withConfig({componentId:"sc-887e264d-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let G=["This week, we will focus on multi-modal learning by developing a custom encoder-decoder transformer model that processes images to generate descriptive captions. We will utilise the Flickr30k dataset, which contains complex sentence-based image descriptions, serving as a benchmark for evaluating image-to-text tasks.","We will develop a custom architecture derived from Vision Transformers (ViT). We will extract features from images by segmenting them into patches and projecting them into a high-dimensional space using linear projections. These embeddings are further processed through multi-head attention and feed-forward layers. The decoder, leveraging self-attention and cross-attention mechanisms, generates sequences of textual descriptions conditioned on the encoded image representations. We will use common loss functions such as cross-entropy loss and contrastive loss.","Considerations around computational efficiency will be critical, particularly with the use of GPUs. We will continue to introduce concepts from Kubernetes and the use of web tools such as Streamlit."],H=["Custom encoder-decoder transformer model tailored for image captioning","Data preprocessing pipeline for transforming images and text","Training scripts utilising GPU acceleration for efficient multi-modal model training","Techniques for optimising model inference in deployment environments","User interface to interact with the trained model for real-time caption generation"],M=["TORCH","PLOT","JUPYTER","PYTHON","DOCKER","FASTAPI"],U={};U.Container=o.ZP.div.withConfig({componentId:"sc-ae330edc-0"})([""]),U.ImageContainer=o.ZP.div.withConfig({componentId:"sc-ae330edc-1"})(["width:100%;height:200px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),U.Img=o.ZP.img.withConfig({componentId:"sc-ae330edc-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let z=["This week focuses on fine-tuning larger pre-trained transformer models, such as 7B parameter models, on a variety of tasks with an emphasis on maximising efficiency. As models increase in size, the challenges of managing computational resources become more pronounced, necessitating strategies that maintain high performance while minimising resource usage.","We will cover key techniques in Parameter Efficient Fine-Tuning (PEFT), including Low-Rank Adaptation (LoRA) and soft prompting, which allow for fine-tuning large models with a fraction of the parameters, thereby reducing memory and computation costs.","You will have access to GPUs to accelerate computations by using lower precision formats, reducing memory bandwidth requirements without sacrificing model accuracy. We will also implement Distributed Data Parallelism to scale training across multiple GPUs, balancing the trade-offs between synchronisation overhead and training speed."],K=["Fine-tune a 8B parameter model on a multi-task benchmark","Implement LoRA for efficient parameter fine-tuning on a transformer model","Apply soft prompting techniques to adjust model behaviour without full re-training","Utilise Mixed Precision Training to enhance performance on limited GPU resources","Deploy the model using Kubernetes and Streamlit"],B=["TORCH","POSTGRES","PYTHON","DOCKER","FASTAPI"],Y={};Y.Container=o.ZP.div.withConfig({componentId:"sc-d3aab982-0"})([""]),Y.ImageContainer=o.ZP.div.withConfig({componentId:"sc-d3aab982-1"})(["width:100%;height:250px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),Y.Img=o.ZP.img.withConfig({componentId:"sc-d3aab982-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let V=["This week, we focus on Retrieval-Augmented Generation (RAG), a hybrid approach that combines the strengths of retrieval-based methods with generative modelling to improve the accuracy and relevance of text generation tasks. RAG integrates external knowledge sources, allowing models to produce responses that are more coherent and grounded in up-to-date information. This capability makes RAG particularly useful for applications where factual correctness and relevance are critical.","Technically, RAG architectures typically involve a two-step process: first, relevant documents or passages are retrieved from a large corpus using retrieval algorithms, those can be classical such as TF-IDF, BM25 or embedding based leveraging Two Tower architectures. The retrieved content is then fed into a generative model, which conditions its output on the retrieved 
1information. The combined architecture often utilises a contrastive loss or a retrieval-augmented objective to align the retrieved and generated outputs effectively.","From a deployment perspective, implementing RAG models requires efficient indexing and retrieval mechanisms, such as FAISS, are crucial to handle large-scale knowledge sources. Additionally, optimising the retriever-generator interaction, possibly through techniques like knowledge distillation, can further enhance the model's speed."],X=["Implement a basic RAG model using a pre-trained retriever and generator","Experiment with different retrieval methods (e.g., dense vs. sparse retrieval)","Fine-tune the RAG model on a custom dataset for open-domain question answering","Deploy the RAG model using GPU acceleration on a bare metal server"],J=["TORCH","POSTGRES","AIRFLOW","K8S","FASTAPI"],$={};$.Container=o.ZP.div.withConfig({componentId:"sc-3a42567a-0"})([""]),$.SubContainer=o.ZP.div.withConfig({componentId:"sc-3a42567a-1"})(["p{font-size:16px;line-height:26px;margin-bottom:20px;&:first-of-type{margin-top:20px;}}@media (max-width:768px){p{font-size:14px;}}"]),$.ImageContainer=o.ZP.div.withConfig({componentId:"sc-3a42567a-2"})(["width:100%;height:250px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),$.Img=o.ZP.img.withConfig({componentId:"sc-3a42567a-3"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let Q={};Q.Container=o.ZP.div.withConfig({componentId:"sc-23c3c77a-0"})([""]),Q.ImageContainer=o.ZP.div.withConfig({componentId:"sc-23c3c77a-1"})(["width:100%;height:250px;background-color:#f5f5f5;border-radius:6px;display:flex;justify-content:center;align-items:center;"]),Q.Img=o.ZP.img.withConfig({componentId:"sc-23c3c77a-2"})(["height:auto;max-height:100%;width:auto;max-width:100%;background-color:#f5f5f5;border-radius:6px;padding:20px 50px;"]);let ee=function(){return(0,n.jsxs)(T.Container,{children:[(0,n.jsx)(v,{text:"Curriculum",svg:"/assets/week_00/00_overview.svg"}),I.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:j,tools:k})]})},et=function(){return(0,n.jsxs)(O.Container,{children:[(0,n.jsx)(v,{text:"Feature Fusion",svg:"/assets/week_01/00_hn.svg"}),Z.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:S,tools:A})]})},ei=function(){return(0,n.jsxs)(D.Container,{children:[(0,n.jsx)(v,{text:"Two Tower Model",svg:"/assets/week_02/00_search.svg"}),E.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:W,tools:R})]})},en=function(){return(0,n.jsxs)(q.Container,{children:[(0,n.jsx)(v,{text:"Transformers",svg:"/assets/week_04/00_transformers_1.svg"}),F.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:N,tools:_})]})},eo=function(){return(0,n.jsxs)(U.Container,{children:[(0,n.jsx)(v,{text:"Multimodality",svg:"/assets/week_05/00_multimodal.svg"}),G.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:H,tools:M})]})},er=function(){return(0,n.jsxs)(Y.Container,{children:[(0,n.jsx)(v,{text:"Fine-Tuning",svg:"/assets/week_06/00_transformers_v2.svg"}),z.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:K,tools:B})]})},ea=function(){return(0,n.jsxs)($.Container,{children:[(0,n.jsx)(v,{text:"Augmented Systems",svg:"/assets/week_07/00_rag.svg"}),V.map(function(e,t){return(0,n.jsx)(P,{children:e},t)}),(0,n.jsx)(w,{lista:X,tools:J})]})};function es(e){let[t,i]=l.useState(!0),[o,r]=l.useState(e.idx);return l.useEffect(function(){e.idx!==o&&(i(!1),setTimeout(()=>{i(!0)},100),r(e.idx))},[e.idx]),(0,n.jsx)(ed.Container,{$opacity:t?1:0,children:e.children})}let ed={};ed.Container=o.ZP.div.withConfig({componentId:"sc-244fca96-0"})(["",""],e=>"\n    opacity: ".concat(e.$opacity,";\n    transition: opacity 100ms ease-in-out;\n  "));let ec=[{path:"overview",title:"Overview",titleMobile:"Overview"},{path:"week-1",title:"Week 1. Predict HN Upvotes",titleMobile:"Week 1"},{path:"week-2",title:"Week 2. Search and Retrieval",titleMobile:"Week 2"},{path:"week-3",title:"Week 3. Transformers",titleMobile:"Week 3"},{path:"week-4",title:"Week 4. Multimodality",titleMobile:"Week 4"},{path:"week-5",title:"Week 5. Fine-Tuning At Scale",titleMobile:"Week 5"},{path:"week-6",title:"Week 6. RAG",titleMobile:"Week 6"}];function el(){let[e,t]=l.useState(0),[i,o]=l.useState();return l.useEffect(function(){let e=()=>
1o(window.innerWidth<950);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),l.useEffect(function(){o(window.innerWidth<950);let e=window.location.pathname,i=ec.findIndex(t=>t.path===e.split("/curriculum/")[1]);-1!==i&&t(i)},[]),(0,n.jsxs)(ep.Container,{children:[(0,n.jsx)(ep.Navigation,{children:ec.map(function(o,r){o.path;let a=r===e,s=i?o.titleMobile:o.title;return(0,l.createElement)(ep.NavItem,{key:r,onClick:()=>{t(r)},$isActive:a,key:r},(0,n.jsx)(h.Z.P,{children:s}))})}),(0,n.jsx)(es,{idx:e,children:0===e?(0,n.jsx)(ee,{}):1===e?(0,n.jsx)(et,{}):2===e?(0,n.jsx)(ei,{}):3===e?(0,n.jsx)(en,{}):4===e?(0,n.jsx)(eo,{}):5===e?(0,n.jsx)(er,{}):6===e?(0,n.jsx)(ea,{}):void 0})]})}let ep={};function eh(){var e;return(0,n.jsxs)(em.Container,{children:[(0,n.jsxs)(a(),{children:[(0,n.jsx)("title",{children:"Explore Our Courses | The Machine Learning Institute"}),(0,n.jsx)("meta",{name:"description",content:"Learn about our AI and machine learning courses at The Machine Learning Institute. Our '/learn' page showcases a range of programmes and real testimonials from students who have transformed their careers."})]}),(0,n.jsx)(s.Z,{title:"AI Residency",subtitle:"Advanced training in deep learning",showApply:!0}),(0,n.jsx)(d.Z,{title:"Why us",text:(e=0,["Our deep learning residency is full-time and in-person. You will be surrounded by motivated peers and supported by expert practitioners. During our residency, you will digest the ideas in cutting-edge AI papers, implement them in code, and ship end-to-end systems."])}),(0,n.jsx)(el,{}),(0,n.jsx)(d.Z,{title:"Cost & Eligibility",children:(0,n.jsx)(em.P,{children:"For eligible applicants, our programme is free. Apply now to find out more."})}),(0,n.jsx)(m,{}),(0,n.jsx)(c.Z,{}),(0,n.jsx)(f.Z,{})]})}ep.Container=o.ZP.div.withConfig({componentId:"sc-586a3c22-0"})(["display:grid;grid-template-columns:1fr 2fr;grid-column-gap:45px;margin-top:15px;max-width:1200px;margin:0 auto;@media (max-width:1220px){padding:0px 10px;margin-top:20px;}@media (max-width:1000px){grid-column-gap:25px;}@media (max-width:950px){grid-template-columns:1fr;margin-top:0px;}"]),ep.Navigation=o.ZP.div.withConfig({componentId:"sc-586a3c22-1"})(["display:flex;flex-direction:column;border:1px solid rgb(237,239,244);height:fit-content;border-radius:8px;@media (max-width:950px){flex-direction:row;border:none;overflow-x:auto;white-space:nowrap;margin-bottom:15px;}"]),ep.NavItem=o.ZP.div.withConfig({componentId:"sc-586a3c22-2"})(["@media (min-width:950px){display:flex;align-items:center;justify-content:flex-start;position:relative;height:45px;border-radius:6px;padding-left:10px;&:hover{cursor:pointer;background:rgba(230,244,234,0.3);p{color:rgb(76,175,80);transition:color 0.2s,font-weight 0.2s;}}","}@media (max-width:950px){display:inline-flex;align-items:center;justify-content:center;width:auto;height:45px;width:100px;border-radius:6px;padding:0 10px;flex:0 0 auto;&:hover{cursor:pointer;background:rgba(230,244,234,0.3);p{color:rgb(76,175,80);transition:color 0.2s,font-weight 0.2s;}}","}"],e=>e.$isActive&&"\n      background: rgb(230, 244, 234);\n      p {\n        color: rgba(76, 175, 80);\n        font-weight: 700;\n        transition: color 0.3s, font-weight 0.3s;\n      }\n      &:after {\n        margin-left: 15px;\n        margin-top: 5px;\n        content: url(/assets/week_arrow_green.svg);\n        transform: scale(1.5);\n      }\n    ",e=>e.$isActive&&"\n      background: rgb(230, 244, 234);\n      p {\n        color: rgba(76, 175, 80);\n        font-weight: 700;\n        transition: color 0.3s, font-weight 0.3s;\n      }\n    ");let em={};em.Container=o.ZP.div.withConfig({componentId:"sc-849a3e2-0"})([""]),em.P=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-849a3e2-1"})(["margin-bottom:",";&:last-of-type{margin-bottom:0;}"],e=>e.theme.spaceFour),em.Prices=o.ZP.div.withConfig({componentId:"sc-849a3e2-2"})(["margin-bottom:",";"],e=>e.theme.spaceFour),em.PAlt=(0,o.ZP)(h.Z.P).withConfig({componentId:"sc-849a3e2-3"})([""]),em.Wrap=o.ZP.div.withConfig({componentId:"sc-849a3e2-4"})(["display:flex;align-items:center;"]),em.Dot=(0,o.ZP)(p.oT).withConfig({componentId:"sc-849a3e2-5"})(["margin-right:",";"],e=>e.theme.spaceOne)},9008:function(e,t,i){e.exports=i(4764)}},function(e){e.O(0,[961,774,888,179],function(){return e(e.s=2036)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.