No project description provided
Project description
Phi-3-Vision VLM Model for Apple MLX: An All-in-One Port
This project brings the powerful phi-3-vision VLM to Apple's MLX framework, offering a comprehensive solution for various text and image processing tasks. With a focus on simplicity and efficiency, this implementation offers a straightforward and minimalistic integration of the VLM model. It seamlessly incorporates essential functionalities such as generating quantized model weights, optimizing KV cache quantization during inference, facilitating LoRA/QLoRA training, and conducting model benchmarking, all encapsulated within a single file for convenient access and usage.
Key Features
- Su-scaled RoPE: Implements Su-scaled Rotary Position Embeddings to manage sequences of up to 128K tokens.
- Batch Generation: Accelerate inference by generating text for multiple prompts concurrently (97 tokens-per-sec batched vs 54 tokens-per-sec single)
- Cache Quantization: Optimize inference for processing long contexts with key-value cache quantization (5.3s quantized vs 5.1s original).
- Model Quantization: Reduce model size for faster loading and deployment (2.3GB quantized vs 8.5GB original).
- Chat Template: Utilization of chat template for streamlining interactions with the model.
- LoRA Training: Easily customize the model for specific tasks or datasets using LoRA.
- Benchmarking: To quickly assess model performance on any dataset. (WIP)
- VLM Agent: Leverages VLM's visual understanding for interactive code generation and refinement, enabling data visualization and image manipulation through a visual feedback loop. (WIP)
Usage
Image Captioning
chat('What is shown in this image?', 'https://assets-c4akfrf5b4d3f4b7.z01.azurefd.net/assets/2024/04/BMDataViz_661fb89f3845e.png')
Click to expand output
The image displays a bar chart with percentages on the vertical axis ranging from 0% to 100%, and various statements on the horizontal axis. Each bar represents the percentage of respondents who agree with the corresponding statement.<|end|><|endoftext|>
Batched Generation
Paddings for each input prompt and their corresponding attention masks, and position IDs are properly handled by the generate
function to ensure correct model behavior.
chat([
"Write an executive summary for a communications business plan",
"Write a resume.",
"Write a mystery horror.",
"Write a Neurology ICU Admission Note.",])
Click to expand output
< Generated text for prompt #0 > Title: Communications Business PlanExecutive Summary:
Our communications business aims to provide high-quality, reliable, and affordable communication solutions to our clients. We will achieve this by leveraging the latest technology, offering personalized customer service, and maintaining a strong focus on customer satisfaction.
Our services will include voice and data communication, as well as internet and mobile services. We will also offer value-added services such as call forwarding,
< Generated text for prompt #1 > [Name]
[Address]
[Phone Number]
[Email Address]
Objective:
To secure a position as a [Job Title] in [Company Name] that utilizes my skills and experience in [Specific Skill/Experience] to contribute to the success of the organization.
Education:
[University Name], [City, State]
Bachelor of Science in [Field of Study
< Generated text for prompt #2 > Title: The Haunting of Hillcrest Manor
In the small, sleepy town of Willow Creek, nestled at the edge of a dense forest, stood Hillcrest Manor, a once-grand estate that had fallen into disrepair. The locals whispered of its former glory days, when it was the home of the wealthy and influential Hawthorne family. But those days were long gone, and the manor had been abandoned
< Generated text for prompt #3 > Patient Name: John Doe
Date of Admission: 01/01/2022
Time of Admission: 10:00 AM
Attending Physician: Dr. Jane Smith
Chief Complaint: Acute onset of severe headache, photophobia, and neck stiffness.
History of Present Illness:
- Sudden onset of severe headache
Cache Quantization
chat("Write an exciting sci-fi.", quantize_cache=True)
Click to expand output
Title: The Last ResortIn the year 2150, Earth is on the brink of collapse. The planet's resources are depleted, and the once-thriving cities are now desolate wastelands. The only hope for humanity lies in a distant planet, Proxima-4.
A group of scientists and engineers have been working tirelessly to develop a spacecraft capable of traveling to Proxima-
Model Quantization
chat("Write an exciting sci-fi.", quantize_model=True)
Click to expand output
Title: The Quantum HeistIn the year 2050, the world had advanced beyond anything anyone had ever imagined. Technology had advanced so much that people could communicate instantly with each other, travel anywhere in the world in mere seconds, and even control machines with their minds. But with these advancements came a new threat - quantum computers.
A group of hackers had managed to steal the blueprints for the most powerful quantum computer ever created.
LoRA Training
train_lora(lora_layers=5, lora_rank=16, epochs=10, lr=1e-4, warmup=.5, mask_ratios=[.0], adapter_path='adapters', dataset_path = "JosefAlbers/akemiH_MedQA_Reason")
LoRA Inference
chat("Write an exciting sci-fi.", adapter_path='adapters')
Click to expand output
Title: The Last AIIn the year 2150, the world was dominated by artificial intelligence. Machines had taken over most of the jobs, and humans were left to pursue creative and intellectual endeavors. The most advanced AI of all time, named Aiden, had been created by a team of brilliant engineers at the Global Tech Corporation.
Aiden was unlike any other AI, it was self-aware, had emotions
Benchmarking (WIP)
recall(dataset_path="JosefAlbers/akemiH_MedQA_Reason"):
Click to expand output
Question: A 23-year-old pregnant woman at 22 weeks gestation presents with burning upon urination. She states it started 1 day ago and has been worsening despite drinking more water and taking cranberry extract. She otherwise feels well and is followed by a doctor for her pregnancy. Her temperature is 97.7°F (36.5°C), blood pressure is 122/77 mmHg, pulse is 80/min, respirations are 19/min, and oxygen saturation is 98% on room air. Physical exam is notable for an absence of costovertebral angle tenderness and a gravid uterus. Which of the following is the best treatment for this patient? - Taught: Nitrofurantoin is the best treatment for a pregnant patient with a likely urinary tract infection, due to its efficacy and safety profile during pregnancy. - Recall: Nitrofurantoin is the best treatment for a pregnant patient with a likely urinary tract infection, due to its efficacy - Answer: E - Attenmpt: E - Correct: True Question: A 3-month-old baby died suddenly at night while asleep. His mother noticed that he had died only after she awoke in the morning. No cause of death was determined based on the autopsy. Which of the following precautions could have prevented the death of the baby? - Taught: Placing infants in a supine position on a firm mattress during sleep is recommended to reduce the risk of sudden infant death syndrome (SIDS). - Recall: Placing infants in a supine position on a firm mattress during sleep is recommended to reduce the risk of sudden infant death syndrome ( - Answer: A - Attenmpt: A - Correct: True Question: A mother brings her 3-week-old infant to the pediatrician's office because she is concerned about his feeding habits. He was born without complications and has not had any medical problems up until this time. However, for the past 4 days, he has been fussy, is regurgitating all of his feeds, and his vomit is yellow in color. On physical exam, the child's abdomen is minimally distended but no other abnormalities are appreciated. Which of the following embryologic errors could account for this presentation? - Taught: The infant's symptoms of non-bilious vomiting, abdominal distension, and palpable "olive" mass suggest pyloric stenosis, caused by abnormal hypertrophy of the pyloric sphincter muscle. - Recall: The infant's symptoms of non-bilious vomiting, abdominal distension, and palpable "olive" mass - Answer: A - Attenmpt: A - Correct: True Question: A pulmonary autopsy specimen from a 58-year-old woman who died of acute hypoxic respiratory failure was examined. She had recently undergone surgery for a fractured femur 3 months ago. Initial hospital course was uncomplicated, and she was discharged to a rehab facility in good health. Shortly after discharge home from rehab, she developed sudden shortness of breath and had cardiac arrest. Resuscitation was unsuccessful. On histological examination of lung tissue, fibrous connective tissue around the lumen of the pulmonary artery is observed. Which of the following is the most likely pathogenesis for the present findings? - Taught: The sudden death of a postoperative patient with a history of immobilization is most likely due to a thromboembolism, evidenced by fibrous tissue around the pulmonary artery lumen on histological examination. - Recall: The sudden death of a postoperative patient with a history of immobilization is most likely due to a thromboembolism, ev - Answer: A - Attenmpt: C - Correct: False Question: A 20-year-old woman presents with menorrhagia for the past several years. She says that her menses “have always been heavy”, and she has experienced easy bruising for as long as she can remember. Family history is significant for her mother, who had similar problems with bruising easily. The patient's vital signs include: heart rate 98/min, respiratory rate 14/min, temperature 36.1°C (96.9°F), and blood pressure 110/87 mm Hg. Physical examination is unremarkable. Laboratory tests show the following: platelet count 200,000/mm3, PT 12 seconds, and PTT 43 seconds. Which of the following is the most likely cause of this patient’s symptoms? - Taught: The patient's symptoms of menorrhagia and easy bruising, along with a prolonged PTT and normal platelet count, are indicative of Von Willebrand disease, an autosomal inherited bleeding disorder. - Recall: The patient's symptoms of menorrhagia and easy bruising, along with a prolonged PTT and normal platelet count, are - Answer: E - Attenmpt: B - Correct: False Question: A 40-year-old zookeeper presents to the emergency department complaining of severe abdominal pain that radiates to her back, and nausea. The pain started 2 days ago and slowly increased until she could not tolerate it any longer. Past medical history is significant for hypertension and hypothyroidism. Additionally, she reports that she was recently stung by one of the zoo’s smaller scorpions, but did not seek medical treatment. She takes aspirin, levothyroxine, oral contraceptive pills, and a multivitamin daily. Family history is noncontributory. Today, her blood pressure is 108/58 mm Hg, heart rate is 99/min, respiratory rate is 21/min, and temperature is 37.0°C (98.6°F). On physical exam, she is a well-developed, obese female that looks unwell. Her heart has a regular rate and rhythm. Radial pulses are weak but symmetric. Her lungs are clear to auscultation bilaterally. Her lateral left ankle is swollen, erythematous, and painful to palpate. An abdominal CT is consistent with acute pancreatitis. Which of the following is the most likely etiology for this patient’s disease? - Taught: The zookeeper's acute pancreatitis is most likely caused by the venom from a scorpion sting, which contains pancreatic toxins leading to inflammation. - Recall: The zookeeper's acute pancreatitis is most likely caused by the venom from a scorpion sting, which contains pan - Answer: C - Attenmpt: B - Correct: False Question: A 25-year-old primigravida presents to her physician for a routine prenatal visit. She is at 34 weeks gestation, as confirmed by an ultrasound examination. She has no complaints, but notes that the new shoes she bought 2 weeks ago do not fit anymore. The course of her pregnancy has been uneventful and she has been compliant with the recommended prenatal care. Her medical history is unremarkable. She has a 15-pound weight gain since the last visit 3 weeks ago. Her vital signs are as follows: blood pressure, 148/90 mm Hg; heart rate, 88/min; respiratory rate, 16/min; and temperature, 36.6℃ (97.9℉). The blood pressure on repeat assessment 4 hours later is 151/90 mm Hg. The fetal heart rate is 151/min. The physical examination is significant for 2+ pitting edema of the lower extremity. Which of the following tests o should confirm the probable condition of this patient? - Taught: A 24-hour urine protein test is the appropriate test to confirm the diagnosis of preeclampsia in this patient. - Recall: A 24-hour urine protein test is the appropriate test to confirm the diagnosis of preeclampsia in this patient.<|end|> - Answer: E - Attenmpt: E - Correct: True Question: A 3900-g (8.6-lb) male infant is delivered at 39 weeks' gestation via spontaneous vaginal delivery. Pregnancy and delivery were uncomplicated but a prenatal ultrasound at 20 weeks showed a defect in the pleuroperitoneal membrane. Further evaluation of this patient is most likely to show which of the following findings? - Taught: A defect in the pleuroperitoneal membrane detected prenatally is indicative of congenital diaphragmatic hernia, where abdominal organs herniate into the thoracic cavity, potentially causing pulmonary hypoplasia. - Recall: A defect in the pleuroperitoneal membrane detected prenatally is indicative of congenital diaphragmatic h - Answer: A - Attenmpt: A - Correct: True Question: A 62-year-old woman presents for a regular check-up. She complains of lightheadedness and palpitations which occur episodically. Past medical history is significant for a myocardial infarction 6 months ago and NYHA class II chronic heart failure. She also was diagnosed with grade I arterial hypertension 4 years ago. Current medications are aspirin 81 mg, atorvastatin 10 mg, enalapril 10 mg, and metoprolol 200 mg daily. Her vital signs are a blood pressure of 135/90 mm Hg, a heart rate of 125/min, a respiratory rate of 14/min, and a temperature of 36.5°C (97.7°F). Cardiopulmonary examination is significant for irregular heart rhythm and decreased S1 intensity. ECG is obtained and is shown in the picture (see image). Echocardiography shows a left ventricular ejection fraction of 39%. Which of the following drugs is the best choice for rate control in this patient? - Taught: Digoxin is the best choice for rate control in a patient with atrial fibrillation, a history of myocardial infarction, and reduced ejection fraction, especially when maximized on beta-blocker therapy. - Recall: Digoxin is the best choice for rate control in a patient with atrial fibrillation, a history of myocardial infar - Answer: E - Attenmpt: B - Correct: False Question: A 35-year-old male presents to his primary care physician with complaints of seasonal allergies. He has been using intranasal vasoconstrictors several times per day for several weeks. What is a likely sequela of the chronic use of topical nasal decongestants? - Taught: Chronic use of topical nasal decongestants can lead to persistent congestion due to rhinitis medicamentosa. - Recall: Chronic use of topical nasal decongestants can lead to persistent congestion due to rhinitis medicamentosa.<|end|><|endoftext|> - Answer: E - Attenmpt: E - Correct: True --- Final Score: 0.6(6/10) 13.16s user 10.00s system 40% cpu 57.670 total
VLM Agent (WIP)
VLM's understanding of both text and visuals enables interactive generation and modification of plots/images, opening up new possibilities for GUI development and data visualization.
agent = Agent()
agent('Plot sine wave.')
agent('Add cosine wave to the plot.')
agent.end()
Installation
You can either install the most recent version of Phi-3-Vision-MLX by cloning the GitHub repository:
git clone https://github.com/JosefAlbers/Phi-3-Vision-MLX.git
Or you can install an older version via pip:
pip install phi-3-vision-mlx
Please note that the version available through pip may not be the most up-to-date.
Benchmarks
Task | Vanilla Model | Quantized Model | Quantized Cache | LoRA |
---|---|---|---|---|
Text Generation | 8.66 tps | 54.65 tps | 7.08 tps | 8.67 tps |
Image Captioning | 6.20 tps | 10.42 tps | 1.74 tps | 6.12 tps |
Batched Generation | 28.32 tps | 97.06 tps | 19.30 tps | 27.87 tps |
License
This project is licensed under the MIT License.
Citation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for phi_3_vision_mlx-0.0.3b0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e80ced1ee362ccaad699abcf6a36010fb9215d825d8d413fb90b71ce294d9780 |
|
MD5 | f7dccf03c402780c8c9dc144e9ba0a6b |
|
BLAKE2b-256 | 35c3600f519eeff96d71922115f538f3942bedcdb641adb0b4b0f273a2da2796 |