Bringing code analysis tools to Jupyter notebooks

Based on a survey of thousands of machine learning practitioners, a new CodeGuru extension addresses common problems, such as code cell execution order, incorrect API calls, and security.

The computational notebook is an interactive, web-based programming interface based on the concept of a lab notebook. Users can describe the computations they’re performing — including diagrams — and embed code in the notebook, and the notebook backend will execute the code, integrating the results into the notebook layout.

Jupyter Notebook is the most popular implementation of computational notebooks, and it has become the tool of choice for data scientists. By September 2018, there were more than 2.5 million public Jupyter notebooks on GitHub, and this number has been growing rapidly.

Related content
In a pilot study, an automated code checker found about 100 possible errors, 80% of which turned out to require correction.

However, using Jupyter Notebook poses several challenges related to code maintenance and machine learning best practices. We recently surveyed 2,669 machine learning (ML) practitioners, and 33% of them mentioned that notebooks get easily cluttered due to the mix of code, documentation, and visualization. Similarly, 23% found silent bugs hard to detect, and 18% agreed that global variables are inconsistently used. Another 15% found reproduction of notebooks to be hard, and 6% had difficulty detecting and remediating security vulnerabilities within notebooks.

We are excited to share our recent launch of the Amazon CodeGuru extension for JupyterLab and SageMaker Studio. The extension seamlessly integrates with JupyterLab and SageMaker Studio, and with a single button click, it can provide users feedback and suggestions for improving their code quality and security. To learn more about how to install and use this extension, check out this user guide.

Static analysis

Traditional software development environments commonly use static-analysis tools to identify and prevent bugs and enforce coding standards, but Jupyter notebooks currently lack such tools. We on the Amazon CodeGuru team, which has developed a portfolio of code analysis tools for Amazon Web Services customers, saw a great opportunity to adapt our existing tools for notebooks and build solutions that best fit this new problem area.

Notebook-Interface.jpg
An example of how the notebook environment can integrate discussion, code, and visualizations.

We presented our initial efforts in a paper published at the 25th International Symposium on Formal Methods in March 2023. The paper reports insights from our survey and from interviews with ML practitioners to understand what specific issues need to be addressed in the notebook context. In the following, we give two examples of how our new technologies can help machine learning experts to be more productive.

Execution order

Code is embedded in computational notebooks in code cells, which can be executed in an arbitrary order and edited on the fly; that is, cells can be added, deleted, or changed after other cells have been executed.

While this flexibility is great for exploring data, it raises problems concerning reproducibility, as cells with shared variables can produce different results when running in different orders.

Jupyter code examples.png
Left: code cells executed in nonlinear order; right: code cells executed in linear order.

Once a code cell is executed, it is assigned an integer number in the square bracket on its left side. This number is called the execution count, and it indicates the cell’s position in the execution order. In the example above, when code cells are executed in nonlinear order, the variable z ends up with the value 6. However, execution count 2 is missing in the notebook file, which can happen for multiple reasons: perhaps the cell was executed and deleted afterwards, or perhaps one of the cells was executed twice. In any case, it would be hard for a second person to reproduce the same result.

Related content
New tool can spot problems — such as overfitting and vanishing gradients — that prevent machine learning models from learning.

To catch problems resulting from out-of-order execution in Jupyter notebooks, we developed a hybrid approach that combines dynamic information capture and static analysis. Our tool collects dynamic information during the execution of notebooks, then converts notebook files with Python code cells into a novel Python representation that models the execution order as well as the code cells as such. Based on this model, we are able to leverage our static-analysis engine for Python and design new static-analysis rules to catch issues in notebooks.

APIs

Another common problem for notebook users is misuse of machine-learning APIs. Popular machine learning libraries such as PyTorch, TensorFlow, and Keras greatly simplify the development of AI systems. However, due to the complexity of the field, the libraries’ high level of abstraction, and the sometimes obscure conventions governing library functions, library users often misuse these APIs and inject faults into their notebooks without even knowing it.

Related content
ICSE paper presents techniques piloted by Amazon Web Services’ Automated Reasoning team.

The code below shows such a misuse. Some layers of a neural network, such as dropout layers, may behave differently during the training and evaluation of the network. PyTorch mandates explicit calls to train() and eval() to denote the start of training and evaluation, respectively. The code example is intended to load a trained model from disk and evaluate it on some test data.

However, it misses the call to eval(), as by default, every model is in the training phase. In this case, some layers will indirectly change the architecture of the network, which would make all prediction unstable; i.e., for the same input, the predictions would be different at different times.

# noncompliant case
model.load_state_dict(torch.load("model.pth"))
predicted = model.evaluate_on(test_data)

# compliant case
model.load_state_dict(torch.load("model.pth"))
model.eval()
predicted = model.evaluate_on(test_data)

Instabilities caused by this bug can have a serious impact. Even when the bug is found (currently, through manual code review) and fixed, the model needs to be retrained. Depending on how large the model is and how late in the development process the bug is found, this could mean a waste of thousands of hours.

The best case would be to detect the bug directly after the developer writes the code. Static analysis can help with this. In our paper, we implemented a set of static-analysis rules that automatically analyze machine learning code in Jupyter notebooks and could detect such bugs with high precision.

In experiments involving a large set of notebook files, our rules found an average of one bug per seven notebooks. This result motivates us to dive deep into bug detection in Jupyter notebooks.

Our survey identified the following issues that notebook users care about:

  • Reproducibility: People often find it difficult to reproduce results when moving notebooks between different environments. Notebook code cells are often executed in nonlinear order, which may be not reproducible. About 14% of the survey participants collaborate on notebooks with others only when models need to be pushed into production; reproducibility is even more crucial for production notebooks.
  • Correctness: People introduce silent correctness bugs without knowing it when using machine learning libraries. Silent bugs affect model outputs but do not cause program crashes, which makes them extremely hard to find. In our survey, 23% of participants confirmed this.
  • Readability: During data exploration, notebooks can easily get messy and hard to read. This hampers maintainability as well as collaboration. In our survey, 32% of participants mentioned that readability is one of the biggest difficulties in using notebooks.
  • Performance: It is time- and memory-consuming to train big models. People want help to make both training and the runtime execution of their code more efficient.
  • Security: In our survey, 34% of participants said that security awareness among ML practitioners is low and that there is a consequent need for security scanning. Because notebooks often rely on external code and data, they can be vulnerable to code injection and data-poisoning attacks (manipulating machine learning models).

These findings pointed us toward the kinds of issues that our new analysis rules should address. During the rule sourcing and specification phase, we asked ML experts for feedback on the usefulness of the rules as well as examples of compliant and noncompliant cases to illustrate the rules. After developing the rules, we invited a group of ML experts to evaluate our tools on real-world notebooks. We used their feedback to improve the accuracy of the rules.

The newly launched Amazon CodeGuru extension for JupyterLab and SageMaker Studio enables the enforcement of code quality and security in computational notebooks to “shift left”, or move earlier in the development process. Users can now detect security vulnerabilities — such as injection flaws, data leaks, weak cryptography, and missing encryption — within notebook cells, along with other common issues that affect the readability, reproducibility, and correctness of the computations performed by notebooks.

Acknowledgements: Martin Schäf, Omer Tripp

Research areas

Related content

US, WA, Redmond
Amazon Leo is building a constellation of thousands of low Earth orbit satellites. It will bring fast, reliable internet to customers beyond the reach of existing networks. On the Guidance, Navigation and Control (GNC) team, you will design the algorithms, simulations and onboard autonomy that keep every satellite precisely pointed and stable. Your work lets the payload serve customers on the ground, and it keeps the fleet flying safely. This is satellite GNC at constellation scale. The constellation is launching and growing today, so you will see your work go from concept to orbit, and then fly on many satellites. In this role, you will: - Take your GNC algorithms from concept to orbit, and stay with them through integration, test and on-orbit operations. - Write the production C++ flight code for your own algorithms. The code that flies is the code you write. - Solve hard problems in precise pointing, payload cueing and fleet autonomy. - Work across design, simulation, test and flight operations, not a narrow slice of the lifecycle. **Export Control Requirement:** Due to applicable export control laws and regulations, candidates must be a U.S. citizen or national, U.S. permanent resident (i.e., current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum. Key job responsibilities - Design and analyze algorithms for state estimation, attitude determination and control, precise pointing and payload cueing against demanding performance requirements. - Implement these algorithms in production C++ flight software. Our GNC engineers own their algorithms all the way into flight, and partner with our embedded software engineers to integrate and test them. - Write concepts of operations for each phase of a satellite's life, from launch and orbit raising to service and deorbit, including failures and recovery. Balance what the payload needs against momentum, power, thermal and ground-contact limits. - Develop momentum management strategies with reaction wheels and magnetic torquers. Help select, size and place the GNC sensors and actuators for future satellites, and design the algorithms that use them. These include star trackers, magnetometers, sun sensors, IMUs and GNSS receivers. - Develop onboard autonomy, including Fault Detection, Isolation and Recovery (FDIR), so that the fleet operates safely at scale with minimal ground intervention. - Build and validate satellite and constellation models and simulations at several levels of fidelity, including 6-DOF simulation and Monte Carlo analysis. Verify closed-loop performance in hardware-in-the-loop (HITL) tests. - Support component environmental tests, functional and performance checkout, and subsystem and satellite integration in our labs. - Analyze telemetry from the whole fleet. Build the metrics, dashboards and tools that track pointing performance and payload operations time as the constellation grows, and use them to improve the fleet. - Operate the GNC system on orbit and take part in the team's on-call rotation. Review fleet data, support maneuvers, and resolve anomalies when on-orbit behavior differs from the ground model. - Review designs and code with the team, and document your algorithms, analyses and results clearly. A day in the life This role covers a wide range of problems across the spacecraft and the network. You will derive and prototype estimation and control algorithms, and then turn them into production flight code. You will prove them in 6-DOF and Monte Carlo simulation and in hardware-in-the-loop tests in the lab. You will support satellite integration. When a satellite does not behave as the ground model predicted, you will dig into fleet telemetry, find the cause and drive the fix. You will own each problem end to end, with the focus to go deep on it. GNC is at the center of safe flight, so you will work across the whole program. The payload, power, thermal and operations teams all depend on GNC, and you will balance their needs against the pointing and momentum budgets. You will partner closely with avionics, flight software and embedded software engineers to make your algorithms run reliably on the spacecraft. You will help the mechanical teams shape the next generation of satellite hardware, from reaction wheels to star trackers. As satellites move from design through manufacturing into orbit, you will work with systems engineering and Assembly, Integration and Test. The problems are hard: tight pointing requirements, a large constellation to keep flying safely, and the chance to invent capabilities that do not exist yet. Constant work with other teams makes this a place where you keep learning and growing. About the team You will join the Satellite Attitude Determination and Control team. We own GNC for our satellites end to end: algorithm design, flight software, lab integration, and flight operations of our own satellites on orbit. Our engineers bring deep experience from many satellite programs and other flight vehicles, with real strength in both our mission and the core GNC disciplines. We design, prototype, test, iterate and learn together. Because GNC is central to safe flight, we drive the concepts of operations and many of the system-level analyses on the program. We also have a lot of freedom. We trust our engineers to choose their own tools and approaches for the problems they face, and to own the results. If you want the autonomy to solve hard problems your way, with a team of strong engineers, you will feel at home here.
US, WA, Redmond
Amazon Leo is building a constellation of thousands of low Earth orbit satellites. It will bring fast, reliable internet to customers beyond the reach of existing networks. On the Guidance, Navigation and Control (GNC) team, you will design the algorithms, simulations and onboard autonomy that keep every satellite precisely pointed and stable. Your work lets the payload serve customers on the ground, and it keeps the fleet flying safely. This is satellite GNC at constellation scale. The constellation is launching and growing today, so you will see your work go from concept to orbit, and then fly on many satellites. In this role, you will: - Take your GNC algorithms from concept to orbit, and stay with them through integration, test and on-orbit operations. - Write the production C++ flight code for your own algorithms. The code that flies is the code you write. - Solve hard problems in precise pointing, payload cueing and fleet autonomy. - Work across design, simulation, test and flight operations, not a narrow slice of the lifecycle. **Export Control Requirement:** Due to applicable export control laws and regulations, candidates must be a U.S. citizen or national, U.S. permanent resident (i.e., current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum. Key job responsibilities - Design and analyze algorithms for state estimation, attitude determination and control, precise pointing and payload cueing against demanding performance requirements. - Implement these algorithms in production C++ flight software. Our GNC engineers own their algorithms all the way into flight, and partner with our embedded software engineers to integrate and test them. - Write concepts of operations for each phase of a satellite's life, from launch and orbit raising to service and deorbit, including failures and recovery. Balance what the payload needs against momentum, power, thermal and ground-contact limits. - Develop momentum management strategies with reaction wheels and magnetic torquers. Help select, size and place the GNC sensors and actuators for future satellites, and design the algorithms that use them. These include star trackers, magnetometers, sun sensors, IMUs and GNSS receivers. - Develop onboard autonomy, including Fault Detection, Isolation and Recovery (FDIR), so that the fleet operates safely at scale with minimal ground intervention. - Build and validate satellite and constellation models and simulations at several levels of fidelity, including 6-DOF simulation and Monte Carlo analysis. Verify closed-loop performance in hardware-in-the-loop (HITL) tests. - Support component environmental tests, functional and performance checkout, and subsystem and satellite integration in our labs. - Analyze telemetry from the whole fleet. Build the metrics, dashboards and tools that track pointing performance and payload operations time as the constellation grows, and use them to improve the fleet. - Operate the GNC system on orbit and take part in the team's on-call rotation. Review fleet data, support maneuvers, and resolve anomalies when on-orbit behavior differs from the ground model. - Review designs and code with the team, and document your algorithms, analyses and results clearly. A day in the life This role covers a wide range of problems across the spacecraft and the network. You will derive and prototype estimation and control algorithms, and then turn them into production flight code. You will prove them in 6-DOF and Monte Carlo simulation and in hardware-in-the-loop tests in the lab. You will support satellite integration. When a satellite does not behave as the ground model predicted, you will dig into fleet telemetry, find the cause and drive the fix. You will own each problem end to end, with the focus to go deep on it. GNC is at the center of safe flight, so you will work across the whole program. The payload, power, thermal and operations teams all depend on GNC, and you will balance their needs against the pointing and momentum budgets. You will partner closely with avionics, flight software and embedded software engineers to make your algorithms run reliably on the spacecraft. You will help the mechanical teams shape the next generation of satellite hardware, from reaction wheels to star trackers. As satellites move from design through manufacturing into orbit, you will work with systems engineering and Assembly, Integration and Test. The problems are hard: tight pointing requirements, a large constellation to keep flying safely, and the chance to invent capabilities that do not exist yet. Constant work with other teams makes this a place where you keep learning and growing. About the team You will join the Satellite Attitude Determination and Control team. We own GNC for our satellites end to end: algorithm design, flight software, lab integration, and flight operations of our own satellites on orbit. Our engineers bring deep experience from many satellite programs and other flight vehicles, with real strength in both our mission and the core GNC disciplines. We design, prototype, test, iterate and learn together. Because GNC is central to safe flight, we drive the concepts of operations and many of the system-level analyses on the program. We also have a lot of freedom. We trust our engineers to choose their own tools and approaches for the problems they face, and to own the results. If you want the autonomy to solve hard problems your way, with a team of strong engineers, you will feel at home here.
US, CA, San Francisco
The Central Science Team within Amazon’s People Experience and Technology org (PXTCS) uses economics, behavioral science, statistics, and machine learning to proactively identify mechanisms and process improvements which simultaneously improve Amazon and the lives, well-being, and the value of work to Amazonians. We are an interdisciplinary team, which combines the talents of science and engineering to develop and deliver solutions that measurably achieve this goal. We are looking for an Applied Scientist to build production machine learning solutions that improve employee experiences and inform workforce decisions. You will work on problems spanning predictive modeling, natural language processing, recommendation systems, personalization, generative AI, and causal evaluation. These solutions will predict workforce outcomes, identify individual and organizational needs, recommend targeted actions, and measure the causal impact of programs, products, and policies across diverse employee populations and business contexts. As an Applied Scientist, you will develop models and algorithms from prototype through production. You will collaborate with other scientists and economists to combine machine learning with causal inference and experimentation, allowing teams to understand both what is likely to happen and which actions will improve outcomes. You will also work with product managers, engineers, and business partners to translate business needs into technical solutions and communicate methods and results to technical and nontechnical audiences. Key job responsibilities • Design, develop, and deploy machine learning solutions in production environments. • Develop solutions using techniques that include predictive modeling, deep learning, natural language processing, recommendation systems, personalization, and generative AI. • Build models that predict workforce outcomes, identify employee and organizational needs, and recommend targeted actions. • Partner with economists and other scientists to design causal evaluations and experimental frameworks that measure the impact of programs, products, and policies. • Combine predictive models with causal estimates to help business partners identify effective actions and make evidence-based decisions. • Collaborate with product managers, engineers, and business partners to translate business requirements into modeling approaches and contribute to technical design and roadmap decisions. • Evaluate model accuracy, performance, calibration, and limitations, and identify opportunities for improvement. • Communicate technical concepts, methods, results, and recommendations to technical peers and business partners. A day in the life • Analyze data to investigate model performance or understand an unexpected result from a causal evaluation. • Brainstorm modeling and evaluation approaches with applied scientists and economists on the team. • Develop and test model features, recommendation methods, or generative AI applications. • Design or analyze experiments and observational studies to estimate the causal impact of programs, products, or policies. • Run simulations, offline evaluations, or backtests to assess model performance. • Meet with product, engineering, and business partners to review requirements, data, designs, and implementation decisions. • Review code changes or technical design documents from scientists and engineers. • Write and present documents covering methods, results, limitations, and recommendations. About the team The People eXperience and Technology Central Science Team (PXTCS) uses economics, behavioral science, statistics, and machine learning to proactively identify mechanisms and process improvements which simultaneously improve Amazon and the lives, wellbeing, and the value of work to Amazonians. We are an interdisciplinary team that combines the talents of science and engineering to develop and deliver solutions that measurably achieve this goal.
IN, KA, Bengaluru
Are you passionate about giving customers the richest, most inspiring experience in their shopping journey? Do you like to dive deep to understand how customer-centric solutions drive measurable results? Do you enjoy working closely with the business and software engineers to design rigorous experiments, build the data infrastructure behind them, and translate results into decisions? You are in the right place! Come join our Prime & Marketing Analytics and Science (PRIMAS) team, where your work will directly impact millions of customers. The EU Marketing & Prime organization is looking for a Data Scientist to join the PRIMAS team. This role sits at the intersection of applied statistics and large-scale analytics — you'll design experiments and causal models, and also own the data pipelines, metrics, and reporting infrastructure that make those results usable across the business. The PRIMAS team provides a comprehensive understanding of customer segments, affinities, and lifetime value. We use data science tools and advanced statistical techniques to study customer purchase and engagement behaviors, and generate actionable insights on where, when, and how we deliver products and programs to customers. We help increase customer engagement, sales, and marketing efficiency, and our systems are built entirely in-house on automated large-scale analytics infrastructure. You will design, launch, and measure experiments across marketing channels (SEM/SEO, Affiliates, Display, Social, Mobile, Email, Onsite, etc.), engagement products, and customer segments. You will improve our understanding of customer behavior, run rigorous power and minimum detectable effect (MDE) analyses to size experiments correctly, and build the causal and conversion models that value and target our marketing — then build the pipelines and dashboards that keep those signals flowing reliably to stakeholders and downstream systems. You will work at the forefront of consumer analytics, tackling some of the hardest measurement problems in the industry alongside strong scientists, statisticians, and software engineers. Key job responsibilities 1. Design and implement scalable, statistically rigorous experiments (A/B, geo, holdout, quasi-experiments) to measure marketing incrementality across channels. 2. Perform power analysis and minimum detectable effect (MDE) calculations to determine experiment sample sizes, durations, and design trade-offs before launch. 3. Build causal and treatment-effect models that produce conversion and valuation signals consumed by downstream bidding and budgeting systems. 4. Building the ETL, metric definitions, and datasets that make results scalable, extensible, and repeatable rather than one-off analyses. 5. Develop measurement frameworks that quantify the true, platform-independent contribution of marketing over time, and build the dashboards and reporting that keep those metrics visible to the business. 6. Apply statistical, mathematical, and machine learning techniques to solve ambiguous business problems where the right approach isn't obvious. 7. Analyze experiment results for validity — inspecting distributions, checking for sample ratio mismatch, exploring covariate balance, and tracking down the source of anomalies. 8. Communicate experiment design, results, and trade-offs clearly to business and leadership audiences, including inputs into business reviews, and influence decisions and technical direction across teams. 9. Establish scalable, repeatable processes and best practices for experiment design, data modeling, and analysis.
IN, KA, Bengaluru
Amazon.com’s Product Detail Page team is looking for talented, motivated and passionate applied scientist to be part of the design and development of a highly scalable multi-tiered shopping application to provide the best possible online shopping experience for Amazon customers world-wide. Our team is comprised of talented applied scientists, developers, testers, program managers, designers and product managers tasked with the singular goal to create THE world's best buying experience. Scientists on this team develop the next-generation technologies and experiences that change how millions interact and shop online. To provide the best possible online shopping at the scale of the web requires ideas from every area of computer science, including distributed computing, large-scale system design, machine learning, natural language processing, data compression and user interface design; the list goes on and is growing every day. We need our scientists to be versatile and always eager to tackle new problems as we continue to push technology forward. Our team leverages sophisticated econometric, machine learning, and big data technologies to help customers to discover the right products at the right prices from millions of trusted sellers billions of times a day. If you are looking for a career-defining opportunity on one of the most customer centric and business impacting teams within Amazon, we’d love to hear from you. We are looking for an Applied Scientist to help build the next generation of Detail Page optimization algorithms. These new set of algorithms will incorporate the continually changing preferences of our customers and continue to scale with numerous new programs that Amazon is introducing for our customers. You will work with multiple Amazon businesses and programs to identify big business opportunities and propose new business features and technical systems to improve customer experience on Amazon Detail Page, Search Page and many other widgets throughout the website. You will be responsible for the quality of algorithm design and will get the opportunity to present your ideas and share results of your deliverables with Amazon executives on a frequent basis. You will get an opportunity to work with senior scientists to define and enforce broad, company-wide technical standards in optimization techniques, statistical modeling and simulation techniques, and/or data analytics.
US, WA, Seattle
Are you excited to play a strategic role in defining the customer experience on Tablets? Come join a dynamic, customer-obsessed, world-class science team to completely reshape the customer experience on our tablets. Key job responsibilities Using Amazon’s large-scale computing resources, you will design and deploy state-of-the-art recommendation models. You will ask research questions about customer behavior, design state-of-the-art models that help customers discover content, and deploy these models to production alongside other engineers. You will participate in the Amazon ML community and mentor other engineers with a strong interest in and knowledge of ML and generative AI. Your work will directly benefit customers! A day in the life We are looking for a passionate, hard-working, and talented Applied Scientist who has experience developing state-of-the-art models and deploying them to production. You will have an opportunity to make an enormous impact on the design, architecture, and implementation of products used everyday by real customers! About the team The Alexa Tablet team is a world-class team that delivers high-quality, innovative products that are loved by our customers. Our team focuses on spinning many of Amazon’s flywheels with bar-raising mobile experiences on our tablets. Over the last 12 years, we have built 4.0+ star rated products, and we continue to look for ways to scale our business. Join us as we continue our ambitious journey which will give you the opportunity to deliver disruptive products with global impact.
US, WA, Seattle
Applied Scientist II (AMZ1513176) (Multiple Positions), Amazon Data Services, Inc., Seattle, WA. Participate in the design, development, evaluation, deployment and updating of data-driven models and analytical solutions for machine learning (ML) and/or natural language (NL) applications. Develop and/or apply statistical modeling techniques (e.g. Bayesian models and deep neural networks), optimization methods, and other ML techniques to different applications in business and engineering. Routinely build and deploy ML models on available data. Research and implement novel ML and statistical approaches to add value to the business. Mentor junior engineers and scientists. (AMZ1513176) 40 hrs/week, Mon-Fri, 8:00 a.m. - 5:00 p.m. Salary Range: $163,617 - $193,200/yr. Amazon.com is an Equal Opportunity – Affirmative Action Employer – Minority/Female/Disability/Veteran/Gender Identity/Sexual Orientation MINIMUM REQUIREMENTS: Master's degree or foreign equivalent in Computer Science, Machine Learning, Statistics, or a related field and (1) one year of research or work experience in the job offered, or as a Research Scientist, Research Assistant, Software Engineer, or a related occupation. Employer will accept a Bachelor's degree or foreign equivalent in Computer Science, Machine Learning, Statistics, or a related field and (5) five years of research or work experience in a related occupation as equivalent to the Master's degree and one year of research or work experience. Must have (1) one year of research or work experience in the following skill(s): programming in Java, C++, Python, or equivalent programming language; and conducting the analysis and development of various supervised and unsupervised machine learning models for moderately complex projects in business, science, or engineering. Employer will accept any suitable combination of education, training or experience. Multiple Positions Available. Amazon is a total compensation company. Depending on the position offered, equity, sign-on payments, and other forms of compensation may be provided as part of a total compensation package, in addition to a full range of medical, financial, and/or other benefits. For more information, visit: https://www.aboutamazon.com/workplace/employee-benefits.#0000
US, WA, Seattle
nnovators wanted! Are you an entrepreneur? A builder? A dreamer? This role is part of an Amazon Special Projects team that takes the company’s Think Big leadership principle to the extreme. We focus on creating entirely new products and services with a goal of positively impacting the lives of our customers. No industries or subject areas are out of bounds. If you’re interested in innovating at scale to address big challenges in the world, this is the team for you. Here at Amazon, we embrace our differences. We are committed to furthering our culture of inclusion. We have thirteen employee-led affinity groups, reaching 40,000 employees in over 190 chapters globally. We are constantly learning through programs that are local, regional, and global. Amazon’s culture of inclusion is reinforced within our 16 Leadership Principles, which remind team members to seek diverse perspectives, learn and be curious, and earn trust. Our team highly values work-life balance, mentorship and career growth. We believe striking the right balance between your personal and professional life is critical to life-long happiness and fulfillment. We care about your career growth and strive to assign projects and offer training that will challenge you to become your best.
CH, Zurich
Are you a MS or PhD student interested in a 2026 Applied Science Internship in the field of Robotics? Do you enjoy diving deep into hard technical problems and coming up with solutions that enable successful products that improve the lives of people in a meaningful way? If this describes you, come join our research teams at Amazon. Key job responsibilities As an Applied Science Intern, you will have access to large datasets with billions of images and video to build large-scale machine learning systems. Additionally, you will analyze and model terabytes of text, images, and other types of data to solve real-world problems and translate business and functional requirements into quick prototypes or proofs of concept. We are looking for scientists capable of using a variety of domain expertise combined with machine learning and statistical techniques to invent, design, evangelize, and implement state-of-the-art solutions for never-before-solved problems.
US, NY, New York
Twitch is looking for an Applied Scientist to lead computer vision and video manipulation work within Amazon Publisher Monetization (APM). You will apply large language models (LLMs), vision-language models (VLMs), and traditional computer vision techniques to build products that directly improve how millions of Twitch creators produce content and how viewers engage with it. This is a high-visibility project backed by senior leadership, and you will have the autonomy to evaluate both first-party and third-party solutions to deliver the highest quality results quickly. If you thrive in a fast-paced, startup-like environment where your scientific decisions shape the product roadmap, we want to hear from you. Key job responsibilities Design and deploy computer vision and video manipulation models using LLMs, VLMs, and traditional techniques, taking solutions from research prototype to production. Partner with senior Product and Twitch leadership to translate customer needs into well-defined scientific problems and deliver end-to-end solutions. Evaluate and integrate generative AI capabilities across Amazon Bedrock and third-party platforms, selecting the approach that maximizes product quality. Drive the team's scientific agenda by proposing new initiatives, authoring technical documents, and contributing to external publications. Mentor fellow scientists and engineers through code reviews, design guidance, and technical assessments that raise the overall quality bar. A day in the life You will split your time roughly evenly between independent research and collaborative sessions. Mornings often start with focused solo work — benchmarking a new VLM, writing model code, or analyzing experiment results. Midday you join working sessions with Product and Twitch leadership to align on requirements or review progress. Afternoons shift between pairing with engineers on production integration and mentoring teammates on evaluation methodology. Weekly science reviews and bi-weekly roadmap syncs keep the team aligned without over-scheduling your calendar. About the team The APM science team supports all of Amazon's Publisher Monetization efforts, building the models and systems behind Twitch's creator tools and ad experiences. The team includes applied scientists, software engineers, and product managers who collaborate daily to move ideas from whiteboard to production. We operate with a startup mentality — moving fast, wearing multiple hats, and iterating closely with Twitch and Product partners. We are accelerating investment in computer vision and generative AI, and this role will be central to that expansion.